随笔分类 - gcc
gcc
摘要:GCC/G++选项 -Wl,-Bstatic和-Wl,-Bdynamic 参考 https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html gcc使用-Wl传递连接器参数,ld使用-Bdynamic强制连接动态库,-Bstatic强制连接静态库。所以部分
阅读全文
摘要:GNU g++常用编译选项用法 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/30686/showart_1210761.html GCC Option Refresher 本节回顾GCC的C编译器的基本使用方法。 g++编译器的选项可以是
阅读全文
摘要:Makefile 常用函数表 一、字符串处理函数1.$(subst FROM,TO,TEXT)函数名称:字符串替换函数—subst。函数功能:把字串“TEXT”中的“FROM”字符替换为“TO”。返回值:替换后的新字符串。2.$(patsubst PATTERN,REPLACEMENT,TEXT)函
阅读全文
摘要:GCC 中 -L、-rpath和-rpath-link的区别 来源 http://blog.csdn.net/q1302182594/article/details/42102961 关于这3个参数的说明,有不少资料,但是看完了还是觉得模糊,分不清它们的区别。本文将用实验的方法去探讨这3个参数的区别
阅读全文
摘要:使用 GDB 调试多进程程序 来源 https://www.ibm.com/developerworks/cn/linux/l-cn-gdbmp/index.html GDB 是 linux 系统上常用的 c/c++ 调试工具,功能十分强大。对于较为复杂的系统,比如多进程系统,如何使用 GDB 调试
阅读全文
摘要:操作系统标识宏 来源 http://www.cnblogs.com/jingzhishen/p/5785090.html 查看gcc所定义的宏的命令:cpp -dM /dev/null命令一: cpp -dM /dev/null命令二: gcc -dM -E - < /dev/null1:OS MA
阅读全文
摘要:gdb调试多线程程序总结 来源 https://www.cnblogs.com/jingzhishen/p/4324071.html 一、多线程调试1. 多线程调试,最重要的几个命令:info threads 查看当前进程的线程。 GDB会为每个线程分配一个ID, 后面操作线程的时候会用到这个ID.
阅读全文
摘要:gdb调试命令的使用及总结 gdb是一个在UNIX环境下的命令行调试工具。如果需要使用gdb调试程序,请在gcc时加上-g选项。下面的命令部分是简化版,比如使用l代替list等等。 1.基本命令 1)进入GDB #gdb test test是要调试的程序,由gcc test.c -g -o test
阅读全文
摘要:修改gcc/g++默认include路径 转自:http://www.network-theory.co.uk/docs/gccintro/gccintro_23.htmlhttp://ilewen.com/questions/692 GCC: GNU C Complier(GNU C 编译器)不仅
阅读全文
摘要:数据模型(LP32 ILP32 LP64 LLP64 ILP64 ) 32位环境涉及"ILP32"数据模型,是因为C数据类型为32位的int、long、指针。而64位环境使用不同的数据模型,此时的long和指针已为64位,故称作"LP64"数据模型。 现今所有64位的类Unix平台均使用LP64数据
阅读全文
摘要:C语言程序内存布局 如有转载,请注明出处:http://blog.csdn.net/embedded_sky/article/details/44457453 作者:super_bert@csdn 一、几个概念 1.栈(Stack) C语言通过栈来维护函数调用上下文,也就是说C中的函数、函数参数列表
阅读全文
摘要:showmemory.c 和 hello.s 源码 我第一次写makefile时就出错了。 问题是:Makefile:3: *** 遗漏分隔符 。 停止。 寻找了百度,也有好多解决办法,但是大部分是差不多的解答,感觉就是单纯的复制粘贴一样,也不够完整。我经过反复琢磨终于解决并弄懂其中之奥妙!什么奥妙
阅读全文
摘要:Linux库函数制作(静态库、动态库) 静态库与动态库 链接方式 链接分为两种:静态链接、动态链接 静态链接: 由链接器在链接时将库的内容加入到可执行程序中 静态链接的特点是: 优点: 对运行环境的依赖性较小,具有较好的兼容性 缺点: 生成的程序比较大,需要更多的系统资源,在装入内存时会消耗更多的时
阅读全文
摘要:GCC(警告.优化以及调试选项) [介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件 预处理器cpp2.将预处理后的文件不转换成汇编语言,生成文件.s 编译器egcs3.有汇编变为目标代码(机器代码)生成.
阅读全文
摘要:makefile写法 在 Unix 上写程式的人大概都碰过 Makefile,尤其是用 C 来开发程式的人。用 make来开发和编译程式的确很方便,可是要写出一个 Makefile就不简单了。偏偏介绍 Makefile 的文件不多,GNU Make 那份印出来要几百页的文件,光看完 Overview
阅读全文