2016-07-19 ruki
xmake 在构建程序的时候,会去自动检测系统环境,工程描述等来创建最合适的编译配置来进行编译。。 一般情况下,我们只需要执行: bash $ xmake 就行了,并且如果工程描述没有改变,就不会去重新检测和生成配置。。 但是有时候,我们的编译需求千奇百怪,不可能一行xmake就能完全满足我们的需求,例如:我要在macosx上编译android程序了,怎么办 这个时候就需要手动修改配置: bash $ xmake f -p android --ndk=~/file/android-ndk 上面是简写,这样会少敲些字符,如果要可读性更好些,可以写全: bash $ xmake config --plat=andro 继续阅读 »
2016-07-17 ruki
主页 源码 更新内容 新特性 增加头文件依赖自动检测和增量编译,提高编译速度 在终端中进行颜色高亮提示 添加调试器支持,xmake run -d program ... 改进 增强运行shell的系列接口 更新luajit到v2.0.4版本 改进makefile生成插件,移除对xmake的依赖,并且支持windows/linux/macosx等大部分pc平台 优化多任务编译速度,在windows下编译提升较为明显 Bugs修复 修复安装目录错误问题 修复import根目录错误问题 修复在多版本vs同时存在的情况下,检测vs环境失败问题 继续阅读 »
2016-08-04 ruki
tbox的默认内存分配,是完全基于自己的内存池架构,支持内存的快速分配,和对碎片的优化,并且支持各种内存泄露、溢出检测。 如果不想用tbox内置的默认内存分配管理,也可以灵活切换到其他分配模式,因为tbox现在已经完全支持allocator架构, 只要在init阶段传入不同的分配器模型,就能快速切换分配模式,例如: ```c /* 采用默认的tbox内存管理,启用内存池维护、碎片优化、内存泄露溢出检测等所有特性 * 相当于使用了:tb_default_allocator(tb_null, 0) */ tb_init(tb_null, tb_null); /* 采用默认的tbox内存管理,启用 继续阅读 »
2017-12-29 Vaniot
一、安装配置Git 1.安装git,下载地址。 git中文教程Pro git 2.配置用户信息: $ git config --global user.name "vaniot"//用户名 $ git config --global user.email "vaniot@gmail.com"//填写自己的邮箱 3.配置SSH密钥 配置Github的SSH密钥可以让本地git项目与远程的github建立联系,让我们在本地写了代码之后直接通过git操作就可以实现本地代码库与Github代码库同步。 打开git本机是否存在SSH Keys检测 $ cd ~/. ssh //检测本机用户home目录下是否存在.ssh 若不存 继续阅读 »
2020-07-07 Robin Wen
文/Robin 笔者 6 月初回了趟老家,就在准备返回深圳的前两天,MacBook Pro 无法开机。在当地的 Apple 授权服务商进行了检测,初步反馈是电池异常。因维修时间过长,于是决定返回深圳后再做维修。 回到深圳,笔者已经提前预约深圳益田假日广场的 Apple 零售店,发现最快也要一周后才有预约名额,于是决定去广州维修,毕竟广州有天环广场、珠江新城两家零售店,预约成功的概率会高很多。预约后,如约来到广州天环广场门店,官方的维修工程师检测结果反馈,主板损坏、电池鼓包,需要更换主板、电池,而且数据无法取出。 这里笔者交代下,笔者的 MacBook Pro 是 2018 款的,为什么这一款 Mac 在更换主板后,数据为什 继续阅读 »
2016-07-25 ruki
现在xmake在windows下,也已经支持调试运行了,可以在编译完debug版本的程序后,直接进行调试开发。。 我们继续以tbox工程为例: bash $ xmake f -m debug $ xmake r -d demo 上述命令,先配置了debug模式编译,为了启用pdb调试符号文件的生成,然后自动编译后,调试运行demo程序。。 xmake会在配置的时候,自动检测windows上注册表里面的默认调试器,然后加载我们的目标程序并运行。 一般情况下,加载的是vs自带的vsjitdebugger调试器,当然xmake也支持windbg和ollydbg(做逆向的,这个用的比较多哈。。) 我们试着运行demo中的exc 继续阅读 »
2016-07-16 ruki
xmake默认在编译完程序后,可以通过以下命令运行指定目标程序: bash $xmake run [target] [arguments] ... 并且在linux/macosx下面,目前已经支持关联调试器,去直接调试指定目标了,只需要加上-d/--debug参数选项: bash $xmake run -d [target] [arguments] ... 默认情况下,xmake在macosx下用的是lldb,在linux下用的是gdb,调试器xmake会在配置的时候去自动检测,如果需要指定调试器路径,可以手动去配置它: bash $xmake f --debugger=/usr/bin/gdb 继续阅读 »
2016-01-10 LEo
1 检测系统是否win7 pascal function CheckWin7(): Boolean; begin GetWindowsVersionEx(Version); if Version.Major = 6 then begin Result := True; end else begin Result := False; end; end; 2 检测是否是silent安装 继续阅读 »
2016-02-04 ruki
如果你只想编译当前主机环境的平台,例如在windows上编译windows版本,在macosx上编译macosx版本,那么你只需要敲以下命令即可: bash xmake 因为xmake默认会去检测当前的环境,默认编译当前主机的平台版本,不需要做额外的配置,并且默认编译的是release版本。 如果工程里面有多个目标,那么上面的命令,会去编译所有目标,如果只想编译指定一个目标,例如:test,那么只需执行: bash xmake test 如果你想编译debug版本,那么需要做些简单的配置: bash xmake config --mode=debug xmake xmake针对每个 继续阅读 »
2017-01-07 ruki
最近给xmake增加了一个新特性,对于一份工程源码,可以不用编写makefile,也不用编写各种make相关的工程描述文件(例如:xmake.lua,makefile.am, cmakelist.txt等) xmake就可以直接编译他们,这是如何做到的呢,简单来说下实现原理: 首先扫描当前目录下,xmake所以支持的所有源代码文件 分析代码,检测哪些代码拥有main入口函数 所有没有main入口的代码编译成静态库 带有main入口的代码,编译成可执行程序,同时链接其他静态库程序 这种代码扫描和智能编译,非常简单,目前xmake还不支持多级目录扫描,只对单级目录的代码进行扫描编译。。 开源代码的移植和编译 虽然这种方式,并不是 继续阅读 »