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