2018年10月16日
摘要: -Wall 生成所有警告信息-o test (小写字母o)是说输出为test -ansi 是使用c++98标准去编译代码。 关闭gnu c中与ansi c不兼容的特性,激活ansi c的专有特性(包括禁止一些asm inline typeof关键字,以及UNIX,vax等预处理宏) -O0 (大写字 阅读全文
posted @ 2018-10-16 19:11 Love流浪的猪 阅读(829) 评论(0) 推荐(0) 编辑
摘要: 在Makefile规则中,通配符会被自动展开。但在变量的定义和函数引用时,通配符将失效。 这种情况下如果需要通配符有效,就需要使用函数“wildcard”,它的用法是:$(wildcard PATTERN...) 。 在Makefile中,它被展开为已经存在的、使用空格分开的、匹配此模式的所有文件列 阅读全文
posted @ 2018-10-16 18:58 Love流浪的猪 阅读(1081) 评论(0) 推荐(0) 编辑
摘要: = 是最基本的赋值 := 是覆盖之前的值 ?= 是如果没有被赋值过就赋予等号后面的值 += 是添加等号后面的值 1、“=” make会将整个makefile展开后,再决定变量的值。也就是说,变量的值将会是整个makefile中最后被指定的值。看例子: 在上例中,y的值将会是 xyz bar ,而不是 阅读全文
posted @ 2018-10-16 17:17 Love流浪的猪 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 一、GCC编译器中使用: -D macro=string,等价于在头文件中定义:#define macro string。 例如:-D TRUE=true,等价于:#define TRUE true -D macro,等价于在头文件中定义:#define macro 1,实际上也达到了定义:#def 阅读全文
posted @ 2018-10-16 16:54 Love流浪的猪 阅读(18315) 评论(0) 推荐(2) 编辑
摘要: 链接器ld的选项有 -L,-rpath 和 -rpath-link,看了下 man ld,大致是这个意思: -L:: “链接”的时候去找的目录,也就是所有的 -lFOO 选项里的库,都会先从 -L 指定的目录去找,然后是默认的地方。 编译时的-L选项并不影响环境变量LD_LIBRARY_PATH,- 阅读全文
posted @ 2018-10-16 16:39 Love流浪的猪 阅读(1374) 评论(0) 推荐(0) 编辑
摘要: 在shell中,可以使用export修改当前进程的环境变量。 例如:export PATH=.:$PATH 将当前路径加入可执行文件查找路径(PATH)中,这样你就不要敲“./excutable” 来执行当前路径中的excutable。而只需要键入 “excutable” 就行了。 make可以执行 阅读全文
posted @ 2018-10-16 16:24 Love流浪的猪 阅读(9158) 评论(0) 推荐(0) 编辑