xmake 在构建程序的时候,会去自动检测系统环境,工程描述等来创建最合适的编译配置来进行编译。。
一般情况下,我们只需要执行:
bash
$ xmake
就行了,并且如果工程描述没有改变,就不会去重新检测和生成配置。。
但是有时候,我们的编译需求千奇百怪,不可能一行xmake就能完全满足我们的需求,例如:我要在macosx上编译android程序了,怎么办
这个时候就需要手动修改配置:
bash
$ xmake f -p android --ndk=~/file/android-ndk
上面是简写,这样会少敲些字符,如果要可读性更好些,可以写全:
bash
$ xmake config --plat=andro
继续阅读 »
主页
源码
更新内容
新特性
增加头文件依赖自动检测和增量编译,提高编译速度
在终端中进行颜色高亮提示
添加调试器支持,xmake run -d program ...
改进
增强运行shell的系列接口
更新luajit到v2.0.4版本
改进makefile生成插件,移除对xmake的依赖,并且支持windows/linux/macosx等大部分pc平台
优化多任务编译速度,在windows下编译提升较为明显
Bugs修复
修复安装目录错误问题
修复import根目录错误问题
修复在多版本vs同时存在的情况下,检测vs环境失败问题
继续阅读 »
tbox的默认内存分配,是完全基于自己的内存池架构,支持内存的快速分配,和对碎片的优化,并且支持各种内存泄露、溢出检测。
如果不想用tbox内置的默认内存分配管理,也可以灵活切换到其他分配模式,因为tbox现在已经完全支持allocator架构,
只要在init阶段传入不同的分配器模型,就能快速切换分配模式,例如:
```c
/* 采用默认的tbox内存管理,启用内存池维护、碎片优化、内存泄露溢出检测等所有特性
* 相当于使用了:tb_default_allocator(tb_null, 0)
*/
tb_init(tb_null, tb_null);
/* 采用默认的tbox内存管理,启用
继续阅读 »
一、安装配置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
若不存
继续阅读 »
文/Robin
笔者 6 月初回了趟老家,就在准备返回深圳的前两天,MacBook Pro 无法开机。在当地的 Apple 授权服务商进行了检测,初步反馈是电池异常。因维修时间过长,于是决定返回深圳后再做维修。
回到深圳,笔者已经提前预约深圳益田假日广场的 Apple 零售店,发现最快也要一周后才有预约名额,于是决定去广州维修,毕竟广州有天环广场、珠江新城两家零售店,预约成功的概率会高很多。预约后,如约来到广州天环广场门店,官方的维修工程师检测结果反馈,主板损坏、电池鼓包,需要更换主板、电池,而且数据无法取出。
这里笔者交代下,笔者的 MacBook Pro 是 2018 款的,为什么这一款 Mac 在更换主板后,数据为什
继续阅读 »
现在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
继续阅读 »
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
继续阅读 »
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安装
继续阅读 »
如果你只想编译当前主机环境的平台,例如在windows上编译windows版本,在macosx上编译macosx版本,那么你只需要敲以下命令即可:
bash
xmake
因为xmake默认会去检测当前的环境,默认编译当前主机的平台版本,不需要做额外的配置,并且默认编译的是release版本。
如果工程里面有多个目标,那么上面的命令,会去编译所有目标,如果只想编译指定一个目标,例如:test,那么只需执行:
bash
xmake test
如果你想编译debug版本,那么需要做些简单的配置:
bash
xmake config --mode=debug
xmake
xmake针对每个
继续阅读 »
最近给xmake增加了一个新特性,对于一份工程源码,可以不用编写makefile,也不用编写各种make相关的工程描述文件(例如:xmake.lua,makefile.am, cmakelist.txt等)
xmake就可以直接编译他们,这是如何做到的呢,简单来说下实现原理:
首先扫描当前目录下,xmake所以支持的所有源代码文件
分析代码,检测哪些代码拥有main入口函数
所有没有main入口的代码编译成静态库
带有main入口的代码,编译成可执行程序,同时链接其他静态库程序
这种代码扫描和智能编译,非常简单,目前xmake还不支持多级目录扫描,只对单级目录的代码进行扫描编译。。
开源代码的移植和编译
虽然这种方式,并不是
继续阅读 »