linux程序设计
文章平均质量分 52
herostarone
这个作者很懒,什么都没留下…
展开
-
第二章 Shell程序设计
1.shell相当于windows下的的cmd提示符比较类似,可以通过shell编写脚本,他们是在运行时解释执行的(挺好的特性,很多东西需要在运行时候再选择执行)2.ls -al |more 意思是显示当前目录的所有文件,但是把ls的输出通过|转换成了more的输入,可以换页显示(通过|实现数据的管道传递)3.用的一般是/bin/sh是对/bin/bash的一个连接,用bash。4.管原创 2012-03-06 22:06:17 · 833 阅读 · 0 评论 -
第十章 调试
1.断言,assert,可以通过宏来控制原创 2012-03-06 22:09:04 · 546 阅读 · 0 评论 -
第一章 入门
第一章 入门。1.linux应用程序表现为2种特殊类型的文件:可执行文件和脚本文件,对应windows下的。exe和批处理。linux不要求可执行文件或脚本有特殊的饿文件扩展名,文件系统属性用来表明一个文件是否为可执行程序。2.我们是与一个叫bash的脚本进行交互的,脚本里可执行文件的执行要么在PATH环境变量里, 要么自己定义路径,/bin为绝对路径,bin为相对路径,指的紧接着当前路径原创 2012-03-06 22:05:37 · 1099 阅读 · 0 评论 -
main函数和启动例程
http://learn.akae.cn/media/ch19s03.html非常好的嵌入式网址,介绍的很底层2. main函数和启动例程 请点评为什么汇编程序的入口是_start,而C程序的入口是main函数呢?本节就来解释这个问题。在讲例 18.1 “最简单的汇编程序”时,我们的汇编和链接步骤是:$ as hello.s -o hello.o$ ld hel转载 2012-03-06 22:15:26 · 615 阅读 · 0 评论 -
第九章 开发工具
1.makefile语法依赖关系规则(有默认规则了)all:myapp //提示最终生成的文件,如果有2,必须提示myapp:main.o 2.o 3.o$gcc -0 myappp main.o 2.0o 3.omain.o man.c a.hgcc -c main.c2.o: 2.c a.h b.hgcc -c 2.c3.o: 3.c b.h c.h原创 2012-03-06 22:08:32 · 515 阅读 · 0 评论 -
Linux下C语言的调试
调试是每个程序员都会面临的问题. 如何提高程序员的调试效率, 更好更快地定位程序中的问题从而加快程序开发的进度, 是大家共同面对的问题. 可能Windows用户顺口就会说出:用VC呗 :-) , 它提供了设置断点, 单步跟踪等的图形界面, 使调试起来直观易用. 但Linux用户可能要生闷气了 O:-) : 难道我们Linux程序员就只能使用原始的调试方法, 在代码中加入printf信息吗?难道Li转载 2012-03-06 22:01:39 · 26359 阅读 · 8 评论 -
第十五章 套接字连接
1.和windows基本一样。2.加深了对select的理解。FD_SET后,通过select看对应的是否有数据,然后返回值看是否在你写的集里面,通过ISSET原创 2012-03-06 22:11:39 · 519 阅读 · 0 评论 -
第十四章 信号量共享内存消息队列
1.信号量,和以前的差不多2.共享内存,就是把不同进程的内存安排为同一个物理内存3.消息队列,就是通过进程间发送消息传播。原创 2012-03-06 22:11:12 · 565 阅读 · 0 评论 -
第十三章 进程间通信 管道
1.pipe单向管道可以重映射标准输入,通过关闭close(0)关闭标准输入,然后dut,复制,dut创建的新文件的描述符玉作为它的参数的那个已有文件描述符指向同一个文件,所以标准输入对应的0原来输入给终端,但是现在输入给对应另一个文件了。2.FIFO,双向管道,已介绍过了write的时候,是不可以read的,内核给同步了原创 2012-03-06 22:10:41 · 727 阅读 · 0 评论 -
第十一章 进程和信号
.system可以启动进程2.execl启动进程的时候,将当前进程替换为新进程3.fork 复制进程镜像,返回了2个值,一个父进程(返回子进程pid》0),子进程返回0,可以区别父子进程,注意,是复制的cpu的状态,只从fork后开始执行。4.僵尸进程,如果fork创建的子进程终止的时候,他与父进程还保持联系,知道父进程也正常终止或者父进程调用wati才告结束,因此,进程表子进程表项不原创 2012-03-06 22:09:35 · 540 阅读 · 0 评论 -
第7章 内存管理
1.跟windows一样,linux不允许直接访问物理内存,都是通过虚拟地址访问的,然后再映射到真实的物理地址。2.linux可以分配大量的内存,因为有swap交换空间,相当于windows的pagafile文件了吧。3.文件锁定:当一个程序正在对文件进行写操作时,文件会进入一个暂时状态,在这个状态下,如果另外一个程序尝试读这个文件,他就会自动停下来等待这个状态的结束。(今天下午还对这原创 2012-03-06 22:07:57 · 580 阅读 · 0 评论 -
第四章 Linux环境
1. int main(int argc,char *argv[]) argc是参数的个数,包括自己的函数名,argv从函数名开始的参数。2.善用getopt函数getopt(argc,argv,“if:lr”),意思是遇到:后面要求还要有一个关联值,用while循环它,然后通过返回值switch case一个一个判断,非常的高效。原创 2012-03-06 22:07:22 · 545 阅读 · 0 评论 -
第三章 文件操作
1.linux一切都是文件,通常程序可以像使用文件一样使用磁盘文件,串行口 打印机等。2.5大基本函数 open close read write ioctl。3.要想读cdrom,需要将cdrom驱动器挂载为一个文件 mount -t ios9600 /dev/hdc /mnt/cdrom.4.库函数最终调用的也是系统调用。5.open的时候,第二个参数mode如果选择O_EX原创 2012-03-06 22:06:50 · 652 阅读 · 0 评论 -
第十二章 POSIX线程
1.注意同步,信号量和互斥2.线程的属性,脱离线程创建一个线程默认的状态是joinable, 如果一个线程结束运行但没有被join,则它的状态类似于进程中的Zombie Process,即还有一部分资源没有被回收(退出状态码),所以创建线程者应该调用pthread_join来等待线程运行结束,并可得到线程的退出代码,回收其资源(类似于wait,waitpid)但是调用pthread原创 2012-03-06 22:10:07 · 494 阅读 · 0 评论