![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编辑&编译&调试
u013982161
这个作者很懒,什么都没留下…
展开
-
一个工程实例来学习 Makefile
学习前的准备需要准备的工程目录结构如下: .├── add│ ├── add_float.c│ ├── add.h│ └── add_int.c├── main.c└── sub ├── sub_float.c ├── sub.h └── sub_int.c 文件编译为可执行文件cacu。Makefil转载 2016-07-10 12:10:57 · 319 阅读 · 0 评论 -
gdb 信号处理
信号(Signals) 信号是一种软中断,是一种处理异步事件的方法。一般来说,操作系统都支持许多信号。尤其是UNIX,比较重要应用程序一般都会处理信号。UNIX定义了许多信号,比如SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号; SIGKILL表示终止程序运行的信号,等等。信号量编程是UNIX下非常重要的一种技术转载 2016-11-13 18:40:14 · 533 阅读 · 0 评论 -
gdb watch
这里大概说下gdb调试程序时,watch的使用。至于原理尚不清楚,以后再做补充,还请见谅。watch通常需要和break,run,continue联合使用。下面举例说明:代码如下:调试的时候过程如下:(gdb) l1 #include 2 3 int main()4 {5 int a=0;6转载 2016-11-13 18:39:18 · 427 阅读 · 0 评论 -
Linux静态库与动态库
这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。 什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是转载 2016-11-13 12:32:24 · 406 阅读 · 0 评论 -
VIM的高级用法
1. 常用的Vim配置在vim的配置文件~/.vimrc中 syntax on 支持语法高亮set nu 显示行号set nonu 不显示行号set ai 设置自动缩进set shiftwidth=4 设置自动缩进 4 个空格, 当然要设自动缩进先set sts=4 即设置 so转载 2016-07-23 12:00:31 · 536 阅读 · 0 评论 -
Linux GCC常用命令
1 简介 GCC 的意思也只是 GNU CCompiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等。而 GCC 也不再单只是 GNU C 语言编译器的意思了,而是变成了 GNU Com转载 2016-07-17 15:27:48 · 189 阅读 · 0 评论 -
详解coredump
一,什么是coredump我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢?下面会分析)会产生一个叫做core的文件。 通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调用堆栈信息等,我们可以转载 2016-07-17 13:52:48 · 660 阅读 · 0 评论 -
GCC笔记(警告.优化以及调试选项)
GCC提供了大量的警告选项,对代码中可能存在的问题提出警告,通常可以使用-Wall来开启以下警告: -Waddress -Warray-bounds (only with -O2) -Wc++0x-compat -Wchar-subscripts -Wimplicit-int -Wimplicit-function-declaration转载 2016-07-10 12:25:58 · 12583 阅读 · 0 评论 -
Makefile经典教程
makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写make转载 2016-06-26 17:31:59 · 491 阅读 · 0 评论 -
gdb 条件断点
GDB是linux上的调试利器,是我们每个基于linux系统编程coder必须掌握的一门技术。在此记录一个使用gdb条件断点的小例子:gdb条件调试一般应用在循环、链表的遍历、或者其他变量的值可能被多次改变的场合。先上一个例子: 调试用例gdb_condition.c源码: 1/**********************************************转载 2016-11-13 18:41:31 · 14507 阅读 · 0 评论