linux c 总结
xiaofeng_yan
这个作者很懒,什么都没留下…
展开
-
Linux typeof
今天偶然又看到了typeof这个东西,只知道它大概是返回变量的类型,后来上网查了下发现这个关键字在linux中用的非常多, 这里大概叙述了typeof是一个什么东西,怎么用,实际上可以用简单的话来重述。如果你对sizeof很熟悉的话,那么大可进行类推,sizeof(exp.)返回的是exp.的数据类型大小,那么typeof(exp.)返回的就是exp.的数据类型。值得注意的是在上面的话里我们可以看转载 2010-01-23 15:27:00 · 2331 阅读 · 1 评论 -
gcc的__attribute__编译属性
gcc的__attribute__编译属性有很多子项,用于改变作用对象的特性。这里讨论section子项的作用。 __attribute__的section子项使用方式为:__attribute__((section("section_name")))其作用是将作用的函数或数据放入指定名为"section_name"的段。看以下程序片段: #include #includ转载 2018-01-05 13:45:03 · 510 阅读 · 0 评论 -
自定义ELF,使得自动做初始化
This is an example to custome youre ELF sections for initialization.//main.c#include #include "init.h"static void callinit(void){ init_fn_t *fn; for (fn = &__start_init_sec;转载 2017-11-22 17:04:28 · 540 阅读 · 0 评论 -
Xserver 目录布局
Xserver 目录布局 目录名解释dix/X的设备独立部分,例如:这些代码用于发送请求(看Dispatch() 在 dix/dispatch.c中)以及处理资源。Main()函数就存于main.c中。doc/包含X Server 操作页和对调度器的解释文档fb/代码用于转载 2011-10-26 10:53:57 · 1569 阅读 · 0 评论 -
linux下的access()函数判断文件是否存在、打印时间
一、access函数功能描述: 检查调用进程是否可以对指定的文件执行某种操作。 用法: #include #include int access(const char *pathname, int mode); 参数: pa转载 2011-09-27 13:09:38 · 1389 阅读 · 0 评论 -
linux 文件权限
用stat命令以及lsattr命令来显示某个文件的详细信息: $ stat file1file: `file1'size: 11904 blocks: 24 io block: 4096 regular filedevice: 301h/769d inode:转载 2011-09-23 16:50:27 · 1494 阅读 · 2 评论 -
fdopen
fopen()、fdopen()、close()2010年01月03日 星期日 12:58<br />Linux环境下可以使用下列函数打开一个流,其函数原型如下:<br />#include <stdio.h><br />FILE * fopen(const char * restrict pathname,<br />const char * restrict type);<br />FILE * fdopen(int filedes, const char *type);<br />转载 2011-01-27 09:50:00 · 4312 阅读 · 1 评论 -
c warning 解决方案
* warning: "/*" within comment 举例: /************************************************/ /* /* save snmp entry data /* add by Tina Lee 2003/7/11转载 2010-05-13 13:52:00 · 6241 阅读 · 0 评论 -
GCC的两个属性
ld.so里有这么句代码/* If we would use strong_alias here the compiler would see a non-hidden definition. * This would undo the effect of the previous declaration. *So spell ou转载 2010-05-05 14:51:00 · 556 阅读 · 0 评论 -
c总结 45关
第一关:整型常量有三种表示方法:1 十进制整数2 八进制整数:以0开头的数,如0376是八进制数3 十六进制整数:以0x开头的数,如0×4a3e是十六进制数第二关:一个正数的补码和其原码相同。求负数的补码的方法是:将该数的绝对值的二进制形式,按位取反加1。如-10的16位二进制形式为0000000000001010,按位取反后为111转载 2010-05-05 14:53:00 · 1032 阅读 · 0 评论 -
C 扩展
在阅读GNU/Linux内核代码时,我们会遇到一种特殊的结构初始化方式。该方式是某些C教材(如谭二版、K&R二版)中没有介绍过的。这种方式称为指定初始化(designated initializer)。下面我们看一个例子,Linux-2.6.x/drivers/usb/storage/usb.c中有这样一个结构体初始化项目: static struct usb_driv转载 2010-01-25 10:29:00 · 923 阅读 · 0 评论 -
一些锻炼代码能力的函数总结
写一个函数fn(),功能是传一个参数是字符串,查找里面有没有相同的字符,有的话返回1,否则0.两种方法,一是效率最高的,二是最节省内存的.int fn0(const char *str){ char num[256] = {0}; unsigned char *pos = (unsigned char *)str; while (*原创 2010-01-24 17:52:00 · 597 阅读 · 0 评论 -
C 语言
C 语言你可能不知道的一些特性1 定义可变长的数组#include int a[0];//编译器认为这已经有一个元素了,数组大小不能为0// int a[]; 定义这个也可以不过会出现警告 int function1 () { int i; int a[5] = {1,2,3,4,5}; for (i = 0; i {原创 2010-01-24 17:46:00 · 510 阅读 · 0 评论 -
Linux 内核中的 GCC 特性
http://www.ibm.com/developerworks/cn/linux/l-gcc-hacks/?S_TACT=105AGX52&S_CMP=tec-csdn转载 2010-01-23 15:19:00 · 448 阅读 · 0 评论 -
(void) (&_min1 == &_min2);
偶然在里面看到下面这个宏定义: #define min(x, y) / ({ / typeof(x) _min1 = (x); / typeof(y) _min2 = (y); /原创 2010-01-23 15:48:00 · 2429 阅读 · 1 评论 -
GCC设置函数属性为constructor和destructor
cc允许为函数设置__attribute__ ((constructor))和__attribute__ ((destructor))两种属性,顾名思义,就是将被修饰的函数作为构造函数或析构函数。程序员可以通过类似下面的方式为函数设置这些属性: 带有(constructor)属性的函数将在main()函数之前被执行,而带有(destructor)属性的函数将在main()退出时执行。下...转载 2018-09-28 10:34:16 · 378 阅读 · 0 评论