主页
源码
更新内容
新特性
增加头文件依赖自动检测和增量编译,提高编译速度
在终端中进行颜色高亮提示
添加调试器支持,xmake run -d program ...
改进
增强运行shell的系列接口
更新luajit到v2.0.4版本
改进makefile生成插件,移除对xmake的依赖,并且支持windows/linux/macosx等大部分pc平台
优化多任务编译速度,在windows下编译提升较为明显
Bugs修复
修复安装目录错误问题
修复import根目录错误问题
修复在多版本vs同时存在的情况下,检测vs环境失败问题
继续阅读 »
新特性
为解释器作用域增加一些内建模块支持
针对windows x64平台,支持ml64汇编器
改进
增强ipairs和pairs接口,支持过滤器模式,简化脚本代码
为vs201x工程生成增加文件filter
移除core/tools目录以及msys工具链,在windows上使用xmake自编译core源码进行安装,优化xmake源码磁盘空间
移除xmake/packages,默认模板安装不再内置二进制packages,暂时需要手动放置,以后再做成自动包依赖下载编译
Bugs修复
修复msvc的编译选项不支持问题:-def:xxx.def
修复ml.exe汇编器脚本
修复选项链接顺序问题
继续阅读 »
1 基础知识
go语言有以下特点:
编译型语言,编译速度快
静态类型语言,拥有动态类型语言特点
类c语法,简单易学
支持gc
语言层面支持并发
跨平台编译
2 著名的go项目:
继续阅读 »
JSP与Servlet
所有的JSP页面最终都会被编译成Servlet执行,而在Servlet类中主要有三个方法,分别是
* init(): 初始化JSP/Servlet的方法
* destroy(): 销毁JSP/Servlet的方法
* service(): 对用户请求生成响应的方法
JSP页面必须放到应用服务器中运行,当第一次访问JSP页面时,该JSP页面会被编译成Servlet,如果JSP没有改动的话,以后访问的都是第一次编译成功的Servlet。
继续阅读 »
最近有很多用户反馈xmake在windows上编译体验不是很好,不方便进行调试和开发。。
其实xmake的定位主要还是以直接编译为主,提供跨平台的编译和部署,不依赖第三方IDE工程,不过目前确实在windows的体验还不是很好
尽管我已经优化了在windows下的编译速度,并且提供了xmake run -d xxxx方式,直接加载调试器进行源码调试
但是毕竟整体开发上,没有IDE的支持,对于习惯IDE开发的用户来讲,就不是那么友好了。(虽然我个人觉得用编辑器+printf的方式已经够用了)
因此我下一步计划(原本打算先做好包管理的),打算优先开始支持对Visual Stdio工程文件的生成,到时候会通过project插件的方
继续阅读 »
此版本主要修复一些稳定性问题。
更多使用说明,请阅读:文档手册。
项目源码:Github, Gitee.
改进
改进add_files,支持对files粒度进行编译选项的各种配置,更加灵活。
从依赖的target和option中继承links和linkdirs。
改进target.add_deps接口,添加继承配置,允许手动禁止依赖继承,例如:add_deps("test", {inherit = false})
移除tbox.pkg二进制依赖,直接集成tbox源码进行编译
Bugs修复
修复目标级联依赖问题
修复target:add和option:add问题
修复在archlinux上的编译和安装问题
修复/ZI的兼容性
继续阅读 »
如果我们要写跨平台的c/c++代码,很多时候需要处理由于不同编译器对c/c++各个标准支持力度不同导致的兼容性问题,一般通常的解决办法是:自己在代码中通过宏去判断各个编译器的版本、内置宏、标准库宏、__has_feature等来检测处理。
自己如果在代码中按上述的方式检测,会很繁琐,尤其是像c++这种存在大量语法特性,如果一一检测过来,工作量是非常大的。
通过构建工具预先检测编译特性
另外比较省事的方式,就是依赖构建工具提前做好检测,然后把检测结果作为宏添加到编译中去,这样代码只需要判断对应的特性宏是否存在,就可以进行处理了。
在cmake中就有类似的检测机制,非常强大,因此xmake也对其进行了支持,提供更加灵活强大的编译
继续阅读 »
1.Java与C++的异同
Java解释性语言:源代码-编译器(字节码)-JVM执行
C/C++编译型语言:编译链接成二进制代码
Java不存在全局变量,全局函数,没有指针,不支持多重继承,不支持运算符重载,没有预处理器,不提供goto语句(但保留关键字),不支持自动强制类型转换,必须显式强制类型转换。
Java为纯面向对象语言,所有代码包括函数,变量等都属于类
继续阅读 »
概述
此版本重构了整个xmake,使得xmake更加方便地进行多语言扩展,并且在之前原有的构建语言支持上,新增了对golang, dlang 和 rust 程序构建支持。
并且重写了所有文档,提供更加详细完整的接口手册和文档支持:新版文档
License也从之前的LGPLv2.1改为Apache License 2.0,更加详细的改进请看下面详细描述:
新特性
添加--links, --linkdirs and --includedirs 配置参数
添加app2ipa插件
为xmake.lua工程描述增加dictionay语法风格
提供智能扫描编译模式,在无任何xmake.lua等工程描述文件的情况下,也能直接快速编译
为
继续阅读 »
随着xmake v2.0.1 版本的发布,这大半年的辛苦总算告一段落,这个版本我基本上重构整个项目的90%的代码,几乎算是重写了,但结果还算挺满意的。。
因为上个版本的架构设计的不是很好,不能很好进行扩展,也不支持插件模式,语法设计上也不严谨,容易出现各种隐患,这对于后期维护和发展来说,已经出现了不可逾越的瓶颈。。
每个项目到了一定阶段,都是要不断重构,重新构思整体架构,才能使得项目不断的向好的方向演进。。
(当然如果是公司项目就另当别论了,坑太多,历史负担较重,不是说要重构就能让你重构的。=。=)
回归正题,目前xmake基本上所有模块都是可扩展的:
插件扩展
工程模板扩展
平台架构扩展
action扩展
option选
继续阅读 »