
Linux下的c编程实战(三) ――进程控制与进程通信编程 作者:宋宝华 e-mail: [email=21cnbao@]21cnbao@[/email] 1.Linux进程 Linux进程在内存中包含三部分数据:代码段、堆栈段和数据段。代码段存放了程序的代码。代码段可以为机器中运行同一程序的数个进程共享。堆栈段存放的是子程序(函数)的返回地址、子程序的参数及程序的局部变量。而数据段则存放程序的全局变量、常数以及动态数据分配的数据空间(比如用mal...
Linux下的c编程实战(二) ――文件系统编程 宋宝华 [email=21cnbao@]21cnbao@[/email] 1.Linux文件系统 Linux支持多种文件系统,如ext、ext2、minix、iso9660、msdos、fat、vfat、nfs等。在这些具体文件系统的上层,Linux提供了虚拟文件系统(VFS)来统一它们的行为,虚拟文件系统为不同的文件系统与内核的通信提供了一致的接口。下图给出了Linux中文件系统的关系: 在Linux平台下对文件编程可以使用两类...
Linux下的c编程实战(五) ――驱动程序设计 宋宝华 [email=21cnbao@]21cnbao@[/email] 1.引言 设备驱动程序是操作系统内核和机器硬件之间的接口,它为应用程序屏蔽硬件的细节,一般来说,Linux的设备驱动程序需要完成如下功能: (1)初始化设备; (2)提供各类设备服务; (3)负责内核和设备之间的数据交换; (4)检测和处理设备工作过程中出现的错误。 妙不可言的是,Linux下的设备驱动程序被组织为一组完成不同任务的...
Linux下的c编程实战(一) ――开发平台搭建 宋宝华 [email=21cnbao@]21cnbao@[/email] 1.引言 Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳定性。而近年来,Linux操作系统在嵌入式系统领域的延伸也可谓是如日中天,许多版本的嵌入式Linux系统被开发出来,如ucLinux、RTLinux、ARM-Linux等等。在嵌入式操作系统方面,Linux的地位是不容怀疑的,它开源、...
看见If,就想Else。看到if语句,就要想到else语句。如果没有else语句,就要分析是不需要,还是异常情况没有处理,如果是异常情况没有处理,可以提单。 九字真言:if…else "看见malloc,就去找Free。 看到malloc语句分配了内存,立即停下正常走读,看malloc代码之后,是否在所有程序的返回分支中都有释放语句。 " 九字真言:malloc "函数调用要小心,需要看看返回值。 到函数调用,要养成习惯,进入函数内部瞄一眼。看看函数的正...
我按书编的程序居然有这么多错误,经仔细检查后没找出错误,和课本一样的。请高手指正。我用的是microsoft visual stuidio 2005 运行的,请指正,谢谢。1struct month 2{ 3 int number_of_day; 4 char name[4]; 5}; 6#include "stdafx.h" 7#include "iostream" 8#include "string" 9using namespace std; 10void main( ) 11{ 12 char *m; 13 struct month months[2]; 14 months[2]={ {31,"jan"},{28."feb"} }; 15 cout<<"input mon...
本人在高校工作多年,拥有广泛的客户群体来源,现诚招有编程能力、有空余时间、有工作激情的编程爱好者,学生、社会人员不限,报酬根据课题难度协商,通过支付宝交易,有意者请加QQ:2398165228 加QQ后请说明您的来意和擅长的方向,以及留下您的电话号码,以方便有课题的时候与您联系
如何在c++中调用已经被编译好的c函数?下面的小例子展示了这个过程: 1. 假设某c函数如下定义 /* file foo.c*/ #include int add(int x, int y) { return x + y; } 编译并生成DLL: gcc -fpic �cc foo.c gcc �cshared -o foo.dll foo.o 2. 在c++中调用这个被编译后的c函数 // file test.cpp #include extern "c" { int add(int x, int y); } int main() { #ifdef __cplusplus std::cout #else std::cout...
建立一个hello.c文件: #include int main() { printf("hello, linux!"); return 0; } gcc hello.c -o hello ./hello 完成测试,使用c++则建立一个hello.cpp 或hello.cxx Linux下的c++编译器是g++ 把gcc换成g++ 本文来自chinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/102400/showart_2028984.html