
Linux C语言
xingxu0207
这个作者很懒,什么都没留下…
展开
-
C语言指针强制类型转换
概要:C语言中,任何一个变量都必须占有一个地址,而这个地址空间内的0-1代码就是这个变量的值。不同的数据类型占有的空间大小不一,但是他们都必须有个地址,而这个地址就是硬件访问的依据,而名字只是提供给程序员的一种记住这个地址的方便一点的方法。但是,不同的变量在机器中都是0-1代码,所以,我们不能简单的通过检查一个值的位来判断它的类型。例如,定义如下:int a; fl转载 2017-03-08 20:12:44 · 460 阅读 · 0 评论 -
SIGCHLD信号与SIG_IGN处理的使用
转自:1) http://blog.youkuaiyun.com/liuchao1986105/article/details/64408962) http://blog.youkuaiyun.com/u013246898/article/details/529857391)signal(SIGCHLD, SIG_IGN); //忽略SIGCHLD信号,这常用于并发服务器的性能的一个技巧//因为并转载 2017-07-11 14:50:56 · 1804 阅读 · 0 评论 -
vim配置文件,解决没有颜色问题
转载自: http://www.cnblogs.com/pswzone/archive/2013/05/26/3099662.html在用户主目录下建立 .vimrc文件,用户也可以在/etc/vimrc(/etc/vim/vimrc不同版本,可能不一样),全局添加下面内容: "语法高亮(显示彩色)syntax on"显示行号set nu"启用鼠标set m转载 2017-07-06 16:52:33 · 6649 阅读 · 0 评论 -
linux系统编程之信号(四):信号的捕捉与sigaction函数
本文转自:http://blog.youkuaiyun.com/jnu_simba/article/details/8947410一、内核如何实现信号的捕捉如果信号的处理动作是用户自定义函数,在信号递达时就调用这个函数,这称为捕捉信号。由于信号处理函数的代码是在用户空间的,处理过程比较复杂,举例如下:1. 用户程序注册了SIGQUIT信号的处理函数sighandler。2. 当转载 2017-07-06 21:17:45 · 236 阅读 · 0 评论 -
Linux pipe函数
转自: http://blog.youkuaiyun.com/myarrow/article/details/90371351. 函数说明pipe(建立管道):1) 头文件 #include2) 定义函数: int pipe(int filedes[2]);3) 函数说明: pipe()会建立管道,并将文件描述词由参数filedes数组返回。转载 2017-07-18 15:03:46 · 314 阅读 · 0 评论 -
linux网络编程九:splice函数,高效的零拷贝
转自: http://blog.youkuaiyun.com/jasonliuvip/article/details/22600569最近在看《linux高性能服务器编程》,在此做个日记,以激励自己,同时分享于有需要的朋友。1. splice函数[cpp] view plain copy#include s转载 2017-07-18 15:07:47 · 891 阅读 · 0 评论 -
C语言的那些小秘密之volatile
volatile的重要性对于搞嵌入式的程序员来说是不言而喻的,对于volatile的了解程度常常被不少公司在招聘嵌入式编程人员面试的时候作为衡量一个应聘者是否合格的参考标准之一,为什么volatile如此的重要呢?这是因为嵌入式的编程人员要经常同中断、底层硬件等打交道,而这些都用到volatile,所以说嵌入式程序员必须要掌握好volatile的使用。简单地说, 在C语言中可以用volatil转载 2017-08-17 15:44:50 · 315 阅读 · 0 评论 -
mdsplus之通过C和C++远程访问
本文转自: http://blog.youkuaiyun.com/xhu_eternalcc/article/details/15378061首先当然需要将远程mdsplus服务器防火墙的相应端口开放,或者关闭防火墙。说明,下面中本地IP为202.127.202.142 远程mdsplus服务器IP为202.127.204.2转载 2017-07-27 22:21:34 · 855 阅读 · 0 评论 -
while循环中的switch语句
问题:运行上述程序,发现结果并不是自己想要的结果,每次输入一个number后,default语句总是会执行一次(运行结果如下图所示)原因分析:每次输入一个number后,都会输入Enter键,而这个Enter键会被第二次的getchar() 所接收,所以每次都会执行default语句。解决方法:将上述程序的第10行改为: scanf("%原创 2017-07-27 21:55:51 · 9006 阅读 · 2 评论 -
Linux中---exec族函数解析
本博客转自:http://blog.youkuaiyun.com/zhengqijun_/article/details/52852074 (1)exec函数说明fork函数是用于创建一个子进程,该子进程几乎是父进程的副本,而有时我们希望子进程去执行另外的程序,exec函数族就提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据转载 2017-09-13 20:02:33 · 467 阅读 · 0 评论 -
Linux时间函数
转自博客: http://blog.youkuaiyun.com/water_cow/article/details/7521567系统环境:ubuntu10.04简介本文旨在为了解Linux各种时间类型与时间函数提供技术文档。1、Linux下常用时间类型Linux下常用时间类型有四种:time_t、struct tm、struct timeval、struct t转载 2017-06-21 23:59:52 · 192 阅读 · 0 评论 -
C语言中指针和自增运算符结合时的运算顺序问题
转载自: http://blog.youkuaiyun.com/xingjiarong/article/details/47071225在C语言中,当指针运算符和++或者–结合时很容易分不清运算顺序,在这里总结一下,下面一共分析6中组合: * p++,(* p)++,* (p++),++* p,++( * p), * (++p)。先看段代码以及输出:#includeint main()转载 2017-06-19 20:11:56 · 744 阅读 · 0 评论 -
linux 下的时间获取函数
一. linux时间漫谈 linux内部对时间是用从Epoch时间开始计时的秒数来表示的。Epoch也就是通用协调时间(UTC,也就是格林尼治平均时间或格林威治标准时间,CMT)。linux将这个数据存储在time_t结构体变量里,目前的32为系统最多支撑到2038年,64位系统就还早着呢。 谈到时间,不得不讲一下时区的问题。以格林尼治所在地区为标准,向东向西各转载 2017-03-15 14:16:59 · 366 阅读 · 0 评论 -
文件内存映射mmap解决大文件快速读写问题和进程间共享内存
mmap函数主要用途有三个:1、将一个普通文件映射到内存中,通常在需要对文件进行频繁读写时使用,这样用内存读写取代I/O读写,以获得较高的性能;2、将特殊文件进行匿名内存映射,可以为关联进程提供共享内存空间;3、为无关联的进程提供共享内存空间,一般也是将一个普通文件映射到内存中。Linux提供了内存映射函数mmap, 它把文件内容映射到一段内存上(准确说转载 2017-03-20 10:09:22 · 965 阅读 · 0 评论 -
fscanf()函数详解
功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。用 法:int fscanf(FILE *stream, char *format,[argument...]);int fscanf(文件指针,格式字符串,输入列表); for example: FILE*fp; chara[10]; intb;转载 2017-04-06 22:47:12 · 57371 阅读 · 0 评论 -
关于typedef void (*sighandler_t)(int)的理解
最近,在学习Linux信号量时,看到signal函数中typedef的一个用法,觉得很有意思。于是就拿出来说道说道。 它定义了一个类型sighandler_t,表示指向返回值为void型(参数为int型)的函数(的)指针。它可以用来声明一个或多个函数指针。 sighandler_t sig1, sig2; 这个声明等价于下面这种晦涩难懂的写法转载 2017-03-23 15:09:02 · 2381 阅读 · 0 评论 -
typedef用法详解
也许新手用这个关键字不多,但它却是一个很有用的关键字,可以使代码模块化程度更好(即与其它代码的关联较少),在C++中还是实现Traits技术的基础,也是模板编程的基本语法之一。若说变量定义是为变量命名,而typedef(或称为类型定义)就是为类型命名。既然都是命名,那就会有很多类似的地方。而变量定义我想大家都会使用,因此类型定义也必然会使用。类型定义的语法可以归结为一句话:只要在变转载 2017-03-08 21:57:15 · 456 阅读 · 0 评论 -
linux下c语言指针部分的一个总结
1、指针的定义与初始化如何理解指针? 首先要在回答指针是什么时一定要说指针是变量,这样的话,指针就有了变量的特性。 (1) 系统为指针分配内存空间; (2) 指针有自己的地址; (3)指针能够存值,但这个值比较特殊–地址。 指针的字节长度: 任何类型指针的长度都是4个字节(32)系统,指针变量是一个地址,在操作系统中地址的长度是固定的。2、* 与&运算符详解(用于取转载 2017-03-14 12:20:21 · 599 阅读 · 0 评论 -
c,c++里面,头文件里面的ifndef /define/endif的作用
转自:http://blog.renren.com/share/231327413/566439602今天和宿舍同学讨论一个小程序,发现有点地方不大懂······ 是关于头文件里面的一些地方:例如:要编写头文件test.h 在头文件开头写上两行: #ifndef _TEST_H #d转载 2017-03-30 22:16:16 · 270 阅读 · 0 评论 -
C语言头文件组织
转自:http://www.2cto.com/kf/201109/104897.html目录(?)[-]一全局变量单独编写很值得借鉴二如果在全局变量前加入static或者const隐式为static类型的变量三头文件编写参考以下基本的规则四头文件编写参考更多的规则暂时只能理解1234五多个代码文件使用一个接口文件暂时不能完全理解一、全局变量单独编写(转载 2017-03-30 22:38:21 · 302 阅读 · 0 评论 -
bzero()与 memset()等的区别
BZERO()等的区别bzero 原型:extern void bzero(void *s, int n);用法:#include 功能:置字节字符串s的前n个字节为零。 说明:bzero无返回值。 举例: // bzero.c #include #inclu转载 2017-03-14 20:24:50 · 8478 阅读 · 1 评论 -
LINUX下写大文件 -D _FILE_OFFSET_BITS=64或者open时加O_LARGEFILE
http://blog.163.com/xychenbaihu@yeah/blog/static/132229655201141211197621/在32位机器下,默认情况下,文件长度是off_t类型,这个可以从ftrucate的参数,从stat获取的文件属性struct stat中都可以看出文件的长度是用off_t类型表示的,即文件的长度在32位机器下默认是long int类型。转载 2017-03-15 11:47:15 · 4138 阅读 · 0 评论 -
Linux中exec命令相关
Linux中exec命令相关:exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息。 bash shell的命令分为两类:外部命令和内部命令。外部命令是通过系统调用或独立的程序实现的,如sed、awk等等。内部命令是由特殊的文件格式(.def)所实现,如cd、his转载 2017-09-13 20:11:25 · 534 阅读 · 0 评论