之前xmake默认编译windows目标,debug模式下采用的是-Z7编译选项,内置的调试符号信息到obj文件里面
但是这种方式按msdn的文档上说,是属于旧式的调试符号文件格式,所以为了考虑后续的兼容性,xmake修改了默认的调试符号生成规则,
改为默认启用pdb符号文件,并且pdb的方式更为常用。。
这个行为的修改,并不会影响到xmake.lua的设置,如果在这个文件中,设置了启用调试符号:
lua
set_symbols("debug")
那么,编译debug版本的目标时,就会自动生成pdb文件,以tbox为例:
bash
$ xmake f -m debug
$ xmake
编译完成后,会自动在build
继续阅读 »
现在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
继续阅读 »
最近从朋友那里拷贝了文件,执行了下ls -lart
drwxrwxrwx@ 10 rlanffy staff 340B 3 6 2015 files
-rwxrwxrwx@ 1 rlanffy staff 630B 6 10 17:22 vagrantup.sh
-rwxrwxrwx@ 1 rlanffy staff 4.8K 8 12 14:17 Vagrantfile
drwxr-xr-x@ 3 rlanffy staff 102B 8 14 12:10 .vagrant
drwxrwxrwx@ 13 rlanffy staff 442B 9 10 11:33 .git
-rw
继续阅读 »
新特性
在xmake.lua中添加原生shell支持,例如:add_ldflags("$(shell pkg-config --libs sqlite3)")
编译windows目标程序,默认默认启用pdb符号文件
在windows上添加调试器支持(vsjitdebugger, ollydbg, windbg ... )
添加getenv接口到xmake.lua的全局作用域中
添加生成vstudio工程插件(支持:vs2002 - vs2015)
为option添加set_default接口
改进
增强内建变量的处理
支持字符串类型的选项option设置
Bugs修复
修复在linux下检测ld连接器失败,如果没装g++的话
继续阅读 »
xmake默认情况下是不会去生成pdb文件,就算是debug编译,启用了调试符号:
lua
set_symbols("debug")
也是不会生成额外的pdb文件,它会把所有调试符号内置到程序里面,如果要独立生成pdb文件,可以对xmake.lua进行如下修改:
```lua
-- 先禁用内置的调试符号开关
--set_symbols("debug")
-- 静态库目标
target("test")
set_kind("static")
-- 仅针对windows平台
if is_plat("windows") then
-- 启用pdb生成
add_cxflags("-ZI", "-Fd$(bui
继续阅读 »
Linux 下有哪些文件
在介绍lsof命令之前,先简单说一下,linux主要有哪些文件:
普通文件
目录
符号链接
面向块的设备文件
面向字符的设备文件
管道和命名管道
套接字
more
继续阅读 »
概念
Linux 中的每一个文件都有其 所属用户 及 所属用户组,根据这两个属性可将文件访问者分为三类:所属用户自己、所属用户组中的用户 和 其他用户,我们可以针对不同的访问者设置不同的用户权限。
“访问”可分为三类:读、写 与 执行。我们可以用 ls -l 命令查看一个文件的权限:
bash
$ touch test
$ ls -l test
-rw-rw-r-- 1 hsfzxjy hsfzxjy 0 Jul 3 23:44 test
首部的 -rw-rw-r-- 即为文件的权限位。权限应该分为四部分来看:-/rw-/rw-/r--。第一部分标志文件的类型,如 普通文件(-)、目录(d)、UNIX 套接字(s)、符号
继续阅读 »
最后两周懒得做笔记了,一张张截图好费时间。已经把pdf,ipython notebook,data都上传到github,ipython notebook还转换成了markdown文件方便阅读。
Github Repo
华盛顿大学的这门公开课真的很棒,很照顾新手,把用到的数学符号都解释了,同时又不会太水。比起约翰霍普金斯的数据科学偏向理论,后者的回归模型主要讲的怎么用,而这门则是深入讲解回归模型的参数如何得来,还有各种问题以及对应的解决方案。
关键词:
Close-form solution
gradient descent
ridge regression
lasso re
继续阅读 »
markdown的目标是实现: 易读易写
1、兼容html。
A paragraph in HTML displayed as code
html
A paragraph in HTML displayed as code
2、不在markdown涵盖范围之内的标签,都可以直接在文档里用html编写,不需要额外标注。
3、html文件中,有两个字符需要特殊处理:<<和&&。<用于起始标签,&用于标记html实体。插入版权符号©©
4、段落的前后要有一个以上的空行,普通段落不需要空格或制表符来缩进。
继续阅读 »
PS:本文所有$符号之后为在终端中执行的命令。
版本控制系统
版本控制
版本控制(Version Control)的作用是追踪文件的变化。为什么需要版本控制?简单说,就是当你出错了,可以很容易地回到没出错时的状态。
你可能已经在不知不觉中,布置了自己的版本控制系统。比如,创建了类似下面这样的文件名:
论文_0510.doc
论文_0514.doc
论文_0521.doc
论文_修改版.doc
论文_最终不修改版.doc
这就是软件中为什么有"Save As"命令的原因。它使得你可以在不破坏源文件的基础上,得到一个类似的新文件。文件的多版本保存是一个常见问题,通常的解决办法是这样的:
做一个文件备份(比如Document.
继续阅读 »