C/C++
文章平均质量分 84
僷枫_华
这个作者很懒,什么都没留下…
展开
-
'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable depr
使用VS2005以上版本(VS2005、VS2008、VS2010)编译在其他编译器下正常通过的C语言程序,你可能会遇到类似如下的警告提示: 引用内容warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation转载 2014-11-08 10:16:50 · 963 阅读 · 0 评论 -
静态链接-学习简记
1.1 空间与地址分配: 对于多个输入目标文件,链接器如何将它们各个段合并到输出文件? 1.1 按需叠加 直接将各个目标文件依次合并,该做法会产生很多内存碎片,不是一个好的解决方案 1.2 相似段合并 将相同性质的段合并到一起,比如将所有输入文件的“.text”合并到输出文件的“.text”段,接着是“.data”段,“.bss”段原创 2016-03-21 23:12:56 · 663 阅读 · 0 评论 -
编译、链接、目标文件格式学习简记
1、编译的过程可以为分为4个阶段:预处理、编译、汇编、链接2、gcc命令实际只是一些后台程序的包装,它会根据不同的参数要求去调用预编译程序ccl,汇编器as、链接器ld3、汇编器是将汇编代码转成机器可以执行的指令,每一个汇编语句都对应一条机器指令。4、词法分析: 首先代码程序被输入到扫描器,扫描器的任务很简单,他只是简单地进行词法分析,运用一种类原创 2016-03-12 23:23:19 · 717 阅读 · 0 评论 -
可执行文件的装载于进程
6.1 进程虚拟地址空间 每个程序运行起来以后,它将拥有自己独立的虚拟地址空间,这个虚拟地址空间的大小由计算机的硬件平台决定,具体来说是由CPU的位数决定的 对于windows来说,它的进程虚拟地址空间划分是操作系统占用2GB,那么进程就只剩2GB空间。 windows有个启动参数可以将操作系统占用的虚拟地址空间减少到1GB,即跟Linux分布一样。方法原创 2016-05-08 22:55:18 · 909 阅读 · 0 评论 -
Linux共享库的组织 -- 学习笔记
8.1 共享库的版本 共享库的更新可以被分为两类: 兼容更新。所有的更新只是在原有的共享库基础上添加以内容,所有原有的接口都保持不变 不兼容更新,共享库更新改变了原有的接口,使用该共享库原有接口的程序可能不能运行或运行不正常 这里讨论的接口是二进制接口,ABI 导致C语言的共享库ABI改变的行为主要有4个:原创 2016-05-08 22:56:25 · 782 阅读 · 0 评论 -
gdb调试coredump(使用篇)
什么是coredump,ulimit,Windows下miniDump和FullDump的设置,gdb 调试coredump的简单示例,生成core文件,自定义core文件的文件名,设置永久保存,gdb 调试coredump初步尝试,查看coredump时的堆栈,没有调试信息的情况下找core的代码行,寻找this指针和虚指针,gdb 查看core进程的所有线程堆栈,gdb调试coredump,大部分时候还是只能从core文件找出core的直观原因,但是更根本的原因一般还是需要结合代码一起分析当时进程的运行原创 2017-01-07 15:20:07 · 36767 阅读 · 0 评论