随笔分类 -  gcc

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

点击右上角即可分享
微信分享提示