Linux
阳光的颜色
我喜欢程序员,他们单纯固执,容易体会到成就感。面对压力,能够挑灯夜战不眠不休。面对困难,能够迎难而上挑战自我。他们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想,用智慧开创属于自己的事业。我想说的是,其实我是一个程序员
展开
-
大端模式和小端模式的区别
在C语言中除了8位的char型之外,还有16位的short型,32位的long型(要看具体的编译器),对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着如何将多个字节安排的问题。因此就导致了大端存储模式和小端存储模式。大端模式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。小端模式:与大端存储模式相反,在小端存储模式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。原创 2014-11-25 18:57:55 · 19736 阅读 · 2 评论 -
GDB调试程序三(详述)
当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。下面是一些查看函数调用栈信息的GDB命令: backtrace bt 打印当前的函数调用栈的所有信息。如: (gdb) bt #0 func (n=250) at tst.c:6 #1 0x080485原创 2015-04-25 16:39:19 · 1180 阅读 · 0 评论 -
Linux多线程编程小结
Linux进程创建一个新线程时,线程将拥有自己的栈(因为线程有自己的局部变量),但与它的创建者共享全局变量、文件描述符、信号句柄和当前目录状态。Linux通过fork创建子进程与创建线程之间是有区别的:fork创建出该进程的一份拷贝,这个新进程拥有自己的变量和自己的PID,它的时间调度是独立的,它的执行几乎完全独立于父进程。进程可以看成一个资源的基本单位,而线程是程序调度的基本单位,一个进程内部的线程之间共享进程获得的时间片。原创 2015-04-25 12:13:34 · 832 阅读 · 0 评论 -
LINUX文件查找
由于whereis和locate在数据库中查找,而数据库的创建默认是每天执行一次。所以当新建文件后立即用这两个命令查找该文件会发现找不到。这时我们可以手动更新数据库。更新数据库的命令:updatedb原创 2015-04-18 12:30:21 · 1949 阅读 · 0 评论 -
GDB调试程序一(概述)
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式) 3、当程序被停住时原创 2015-04-24 10:16:44 · 737 阅读 · 0 评论 -
关于linux的一些比较不错的链接
Linux内存点滴:用户进程内存空间 http://blog.jobbole.com/45733/进程与线程的一个简单解释 http://blog.jobbole.com/38696/原创 2015-04-04 11:27:31 · 546 阅读 · 0 评论 -
C语言中EOF的意思
EOF 是一个宏 ,一般定义为-1。1.EOF用来判断文件结束的标记(end of file) 用在文件操作中,可以查下msdn 看它的定义:EOF is returned by an I/O routine when the end-of-file (or in some cases, an error) is encountered2.EOF表示输入流的结束。3.在发送端套接字关闭原创 2014-12-08 23:20:43 · 3302 阅读 · 0 评论 -
Linux gcc常用命令
GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等。而 GCC 也不再单只是 GNU C 语言编译器的意思了,而是变成了 GNU Compiler Collection 也即是 GNU 编译器家族的意思了。另一方面,说到 GCC 对于操作系统平台及硬件平台支持,概原创 2014-11-25 22:04:53 · 985 阅读 · 1 评论 -
《深入理解计算机系统》关于csapp.h和csapp.c的编译问题
1.我的当前工作目录为/home/sxh2/clinux,目录下有3个文件inet_aton.c csapp.h csapp.c。2.编译csapp.c文件,命令为gcc -c csapp.c,生成目标文件csapp.o。3.编译inet_aton.c文件,命令为gcc -c inet_aton.c,生成目标文件inet_aton.o。4.链接目标文件csapp.o、inet_aton.o(由于csapp.c文件中有关于线程中部分,gcc编译的时候必须带 -lpthread,否则会出错的),命令为gc原创 2014-11-25 21:53:39 · 4361 阅读 · 1 评论 -
Linux Shell学习
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。原创 2014-11-17 23:24:17 · 990 阅读 · 0 评论 -
GDB调试程序二(详述)
声明:博客内容引用的是陈先生的博文,原文链接http://blog.csdn.net/haoel/article/details/2879。由于原博文没有目录,不方便查询,所以特此把原博文整理成带目录版的。一、设置断点(BreakPoint) 我们用break命令来设置断点。正面有几点设置断点的方法: break 在进入指定原创 2015-04-25 16:06:33 · 953 阅读 · 0 评论