C/C++
文章平均质量分 62
SilentCedar
人生最曼妙的风景在于自己坚定不移的视线
展开
-
C语言中的标准输入/标准输出/输入重定向
C语言中标准输入流、标准输出流、标准错误输出流在Linux中,所有对设备和文件的操作都使用文件描述符来进行。Linux中一个进程启动时,都会打开3个文件:标准输入、标准输出和标准出错处理。这三个文件分别对应文件描述符0、1、2。在C语言中,在程序开始运行时,系统自动打开3个标准文件:标准输入、 标准输出、标准出错输出。通常这3个文件都与终端相联系。因此,以前我们所用到的从终端输原创 2017-03-28 21:46:41 · 5529 阅读 · 0 评论 -
Linux系统调用与库函数调用
Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底层调用的意思。面向的是硬件。而库函数调用则面向的是应用开发的,相当于应用程序的api,采用这样的方式有很多种原因,第一:双缓冲技术的实现。第二,可移植性。第三,底层调用本身的一些性能方面的缺陷。第四:让api也可转载 2017-03-28 21:43:46 · 551 阅读 · 0 评论 -
libc、glibc和glib的关系
glibc 和 libc 都是Linux下的 C 函数库。 libc 是 Linux 下的 ANSI C 函数库;glibc 是 Linux 下的 GUN C 函数库。 ANSI C 和 GNU C 有什么区别呢? (ANSI美国国家标准协会)ANSI C 函数库是基本的 C 语言函数库,包含了 C 语言最基本的库函数。这个库可以根据头文件划分为 15 个部分,其中包括:原创 2017-03-28 21:47:39 · 423 阅读 · 0 评论 -
malloc、calloc、realloc
(1)C语言跟内存分配方式从静态存储区域分配. 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量、static变量.在栈上创建 在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放.栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限.从堆上分配,亦称动态内存分配原创 2017-04-19 20:29:21 · 345 阅读 · 0 评论