
linux编程笔记
申庆胜
这个作者很懒,什么都没留下…
展开
-
“extern c”的含义
在c++调用c或者c调用c++时,头文件中声明的函数必须使用'extern "C"进行修饰,这样才能正常编译使用。可用于c和c++混合编程。(1) 被extern限定的函数或变量是extern类型的(2) 被extern "C"修饰的变量和函数是按照C语言方式编译和连接的;当c++编译器遇到该修饰符时在生成目标代码时,会把被修饰的函数和变量按照c语言习惯来生成标识符。以便被c程序能够正原创 2013-05-14 11:16:46 · 733 阅读 · 0 评论 -
p,&p,*p的区别与联系
学习C语言时,指针的学习是比较难的一部分,常常分辨不了*p p &p 的区别。下面是摘抄别人的一段测试程序。以下是我的一小段测试用的程序 void test(){ int a=8; int *p=&a; p=(int *)malloc(N*sizeof(int)); // printf( "%d/n ",*p); /原创 2009-09-26 16:51:00 · 2443 阅读 · 1 评论 -
内存地址对齐及大小端
我们常常看到“alignment", "endian"之类的字眼, 但很少有C语言教材提到这些概念. 实际上它们是与处理器与内存接口, 编译器类型密切相关的.考虑这样一个例子: 两个异构的CPU进行通信, 定义了这样一个结构来传递消息:struct Message{ short opcode; char subfield; long message_length原创 2009-09-22 15:57:00 · 631 阅读 · 0 评论 -
errno的记录
linux的错误信号描述在下面两个文件里linux error number linux 错误/usr/include/asm-generic/errno-base.h和/usr/include/asm-generic/errno.h#ifndef _ASM_GENERIC_ERRNO_BASE_H#define _ASM_GENERIC_ERRNO_BASE_H#define E原创 2009-07-14 17:22:00 · 889 阅读 · 0 评论 -
深入理解sizeof
最近在论坛里总有人问关于sizeof的问题,并且本人对这个问题也一直没有得到很好的解决,索性今天对它来个较为详细的总结,同时结合strlen进行比较,如果能对大家有点点帮助,这是我最大的欣慰了。一、好首先看看sizeof和strlen在MSDN上的定义:首先看一MSDN上如何对sizeof进行定义的:sizeof Operatorsizeof expressionThe s原创 2009-09-09 10:11:00 · 521 阅读 · 0 评论 -
bss段
一个程序本质上都是由 bss段、data段、text段三个组成的。这样的概念,不知道最初来源于哪里的规定,但在当前的计算机程序设计中是很重要的一个基本概念。而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大小分配,存储单元占用空间大小的问题。 在采用段式内存管理的架构中(比如intel的80x86系统),bss段(Block Started by Symbol segme原创 2009-09-07 15:39:00 · 856 阅读 · 0 评论 -
c语言字符串 数字转换函数大全转
atof(将字符串转换成浮点型数)atoi(将字符串转换成整型数)atol(将字符串转换成长整型数)strtod(将字符串转换成浮点数)strtol(将字符串转换成长整型数)strtoul(将字符串转换成无符号长整型数)toascii(将整型数转换成合法的ASCII 码字符)toupper(将小写字母转换成大写字母)tolower(将大写字母转换成小写字母) atof(将字符串转换成浮原创 2009-07-03 18:29:00 · 7327 阅读 · 1 评论 -
linux编程笔记
数据类型不一致: stdin类型为 FILE* STDIN_FILENO类型为 int 使用stdin的函数主要有:fread、fwrite、fclose等,基本上都以f开头 使用STDIN_FILENO的函数有:read、write、close等 层次不一样。STDIN 属于标准库处理的输入流,其声明为 FILE 型的,对应的函数前面都有f开头,如fopen/fread/fwrite原创 2009-07-03 14:23:00 · 737 阅读 · 0 评论 -
C语言函数原型fgets fputs
fputsint fputs ( const char * str, FILE * stream );Write string to streamWrites the string pointed by str to the stream.The function begins copying from the address specified (str) until it reac原创 2009-08-17 15:46:00 · 2862 阅读 · 0 评论 -
memset /memcpy /strcpy函数的使用与区别
(1) Memset 原型: extern void *memset(void *buffer, int c, int count); 用法: #include 功能: 把buffer所指内存区域的前count个字节设置成字符 c。原创 2009-08-17 13:36:00 · 695 阅读 · 0 评论 -
fopen 参数讲解
fopen参数说明Linux编程 2009-06-28 15:54 阅读167 评论0 字号: 大大 中中 小小 source: http://hi.baidu.com/05809/blog/item/166bbf1000e5d109213f2ea3.html2009-06-03 23:03 fopen参数说明20原创 2009-08-04 13:42:00 · 16971 阅读 · 3 评论 -
C语言专题——格式化I/O详解
1 格式化I/O函数族函数族 用途 可用于所有的流 只用于stdin和stdout 内存中的字符串scanf 格式化输入 fscanf scanf sscanfprintf 格式化输出 fprintf printf sprintf2 scanf函数族int fscanf (FILE *stream, const char *format, ...);int scanf (const char *f原创 2009-08-06 14:21:00 · 915 阅读 · 0 评论 -
realloc函数详解
原型:extern void *realloc(void *mem_address, unsigned int newsize); 用法:#include 有些编译器需要#include 功能:改变mem_address所指内存区域的大小为newsize长度。 说明:如果重新分配成功则返回指向被分配内存的指针,否则返回空指针NULL。 当内存不再使用时,应使用free()函数将内存原创 2009-08-06 11:30:00 · 2340 阅读 · 1 评论 -
使用 doxygen 生成文档
使用 doxygen 生成文档使用 doxygen 生成源代码的文档需要执行三个步骤。生成配置文件在 shell 提示上,输入命令 doxygen -g 。这个命令在当前目录中生成一个可编辑的配置文件 Doxyfile。可以改变这个文件名,在这种情况下,应该调用 doxygen -g user-specified file name>,见 清单 2。 清单 2. 生成默认的配置文件原创 2009-08-04 18:09:00 · 1527 阅读 · 0 评论 -
字符编码详细解释unicode与utf8的区别与联系
字符编码我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是6原创 2017-11-17 16:12:25 · 327 阅读 · 0 评论