C
wxh_无香花自开
这个作者很懒,什么都没留下…
展开
-
C语言学习笔记:内存分配
在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是有限的。因此在程序设计中,有效地管理内存资源是程序员首先考虑的问题。第1节主要介绍内存管理基本概念,重点介绍C程序中内存的分配,以及C语言编译后的可执行程序的存储结构和运行结构,同时还介绍了堆空间和栈空间的用途及区别。第2节主要介绍C语言中内存分配及释放函数、函数的功能,以及如何调用这些转载 2015-03-06 14:08:23 · 536 阅读 · 0 评论 -
Linux_C 编程:生成动态链接库是否必须使用 -fPIC 的问题
在 Linux 下制作动态链接库,“标准” 的做法是编译成位置无关代码(Position Independent Code,PIC),然后链接成一个动态链接库。经常遇到的一个问题是 -fPIC 是不是必需,因为好像不加经常也能正常运行,只是创建 .so 的时候会有一个警告。搜索、试验了一下,答案似乎是这样:(1) 通常的建议是始终加上 -fPIC 生成位置无关代码;(2)转载 2015-03-09 00:23:14 · 573 阅读 · 0 评论 -
C语言学习笔记:gcc介绍
编译程序的四个步骤:1.预处理:去掉注释,进行宏替换,头文件包含等工作gcc -E test.c -o test.i2.编译:不同平台全用的汇编语言是不一样的,编译是将高级语言编译成汇编语言gcc -S test.i -o test.s3.汇编:将汇编语言翻译成二进制的目标代码gcc -c test.s -o test.o4.链接:链接各函数库的入口,得到可原创 2015-03-07 21:41:53 · 417 阅读 · 0 评论 -
Linux_C 编程:epoll详解
什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通知方法。 ep转载 2015-03-08 23:13:39 · 664 阅读 · 0 评论 -
C:关于非阻塞的recv的时候返回的处理
注意recv()如果读到数据为0,那么就表示文件结束了,如果在读的过程中遇到了中断那么会返回-1,同时置errno为EINTR。因此判断recv的条件: 如果read返回 如果==0 表示文件结束, 处理 如果 表示中断,处理 否则,出错我们举个例子:int转载 2016-03-08 09:42:14 · 1980 阅读 · 0 评论 -
C:CLOSE_WAIT状态的原因与解决方法
这个问题之前没有怎么留意过,是最近在面试过程中遇到的一个问题,面了两家公司,两家公司竟然都面到到了这个问题,不得不使我开始关注这个问题。说起CLOSE_WAIT状态,如果不知道的话,还是先瞧一下TCP的状态转移图吧。关闭socket分为主动关闭(Active closure)和被动关闭(Passive closure)两种情况。前者是指有本地主机主动发起的关闭;而后者则是指本地主机转载 2016-03-08 09:49:06 · 722 阅读 · 0 评论 -
linux 动态静态库路径
1. 连接和运行时库文件搜索路径到设置 库文件在连接(静态库和共享 库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的。一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,所以使用这两个目录中的库时不需要进行设置搜索路径即可直接使用。对于处于默认库搜索路径之外的库,需要将库的位置添加到 库的搜索路径之中。设置库文件的搜索路径...转载 2018-12-26 14:22:27 · 2033 阅读 · 0 评论 -
GCC常用参数详解
简介gcc and g++现在是gnu中最主要和最流行的c & c++编译器 .gcc/g++在执行编译工作的时候,总共需要以下几步:1.预处理,生成.i的文件[预处理器cpp]2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]4.连接目标代码,生成可执行程序[链接器ld]GCC能够处理的后缀有:...转载 2018-12-26 11:35:01 · 357 阅读 · 0 评论 -
Linux笔记:实现nohup功能
#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <unistd.h>#include <string.h>#include <signal.h>#include <sys/stat.h>#include <sys/...原创 2019-08-29 11:32:24 · 459 阅读 · 2 评论