- 浏览: 22618 次
- 性别:
- 来自: 北京
最新评论
Linux中的C语言妙用
1.两个数比较大小 #define min( x,y) ({ \ typeof( x) _x = ( x); \ typeof( y) _y = ( y); \ (void) (&_x == &_y); \ //妙用!作用是检查参数 x 和 y 的类型是否相同 _x < _y ? _x : _y; }) 2.链表的使用 这个不多说了,太棒了,可以由一个链表成员获取宿主的指针 3.do{}while(0)的使用 #define func(x) do{...;}while(0) 4.结构体中的#define strUCt sock { struct sock_common __sk_common; #define sk_family __sk_common.skc_family #define sk_state __sk_common.skc_state ..... }; 5.使用C写出的面向对象程序,通过给结构体中的成员赋予不同的函数指针而实现不同的功能,取代了大量的case语句 6.通过条件宏定义,同一函数名有不同的实现,方便调用此函数 #ifdef xxx #define func(x) do{实现;}while(0) #else #define func(x) do{}while(0) 7.零长度数组 GNU C 允许使用零长度数组,在定义变长对象的头结构时,这个特性非常有用。例 如: struct minix_dir_entry { __u16 inode; char name[0]; }; 8.可变参数宏 在 GNU C 中,宏可以接受可变数目的参数,就象函数一样,例如: #define pr_debug(fmt,arg...) \ printk(KERN_DEBUG fmt,##arg)
1.两个数比较大小 #define min( x,y) ({ \ typeof( x) _x = ( x); \ typeof( y) _y = ( y); \ (void) (&_x == &_y); \ //妙用!作用是检查参数 x 和 y 的类型是否相同 _x < _y ? _x : _y; }) 2.链表的使用 这个不多说了,太棒了,可以由一个链表成员获取宿主的指针 3.do{}while(0)的使用 #define func(x) do{...;}while(0) 4.结构体中的#define strUCt sock { struct sock_common __sk_common; #define sk_family __sk_common.skc_family #define sk_state __sk_common.skc_state ..... }; 5.使用C写出的面向对象程序,通过给结构体中的成员赋予不同的函数指针而实现不同的功能,取代了大量的case语句 6.通过条件宏定义,同一函数名有不同的实现,方便调用此函数 #ifdef xxx #define func(x) do{实现;}while(0) #else #define func(x) do{}while(0) 7.零长度数组 GNU C 允许使用零长度数组,在定义变长对象的头结构时,这个特性非常有用。例 如: struct minix_dir_entry { __u16 inode; char name[0]; }; 8.可变参数宏 在 GNU C 中,宏可以接受可变数目的参数,就象函数一样,例如: #define pr_debug(fmt,arg...) \ printk(KERN_DEBUG fmt,##arg)
发表评论
-
Linux无盘工作站架设实例
2016-11-30 14:33 1032Linux无盘工作站架设实 ... -
指令大全 - Linux 指令篇:档案目录管理--more
2016-11-30 14:15 637指令大全 - Linux 指令篇:档案目录管理--more 名 ... -
指令大全 - Linux 指令篇:字串处理--tr
2016-11-28 11:35 583指令大全 - Linux 指令篇:字串处理--tr 名称:tr ... -
Linux基础 linux命令:XF86Setup
2016-11-28 11:25 670Linux基础 linux命令:XF86Setup XF86S ... -
Linux基础-linux命令:cmp
2016-11-25 13:43 546Linux基础-linux命令:cmp cmp(compar ... -
Linux基础-linux命令:csplit
2016-11-25 11:49 534Linux基础-linux命令:csplit csplit(c ... -
Linux基础知识 linux命令:dnsconf
2016-11-24 11:45 581Linux基础知识 linux命令:dnsconf dnsc ... -
Linux基础资料 linux命令:efax
2016-11-24 11:41 694Linux基础资料 linux命令 ... -
linux命令:elm
2016-11-23 11:50 596linux命令:elm elm 功能说明:E-mail管理程序 ... -
Linux基础:linux命令archive
2016-11-23 11:32 723Linux基础:linux命令archive archive ... -
优盘linux启动
2016-11-22 12:57 763优盘linux启动 条件: 1.优盘已做成启动盘; 2在硬盘上 ... -
Linux和DOS的FORMAT命令区别
2016-11-21 14:04 741Linux和DOS的FORMAT命令区别 DOS的FORMAT ... -
Linux /proc 目录下文件粗谈
2016-11-21 13:42 578Linux /proc 目录下文件粗谈 /proc目录下文件是 ... -
1、如何做好嵌入式Linux学习前的准备?
2016-11-18 11:25 4581、如何做好嵌入式Lin ... -
忘记Linux密码怎么办
2016-11-17 14:57 512如果忘记了Linux密码, ... -
Linux文件系统被破坏时的处理方法介绍
2016-11-17 14:46 975Linux文件系统被破坏时的处理方法介绍 当文件系统被破坏时, ... -
如何学习linux的建议
2016-11-16 13:53 461如何学习linux的建议 一、从基础开始 常常有些朋友在L ... -
Linux系统配置优化的几个经验
2016-11-16 11:53 469Linux系统配置优化的几个经验 关于硬盘分区 小编的经验是安 ... -
Linux增加:重要的Shell环境配置文件
2016-11-15 13:42 461用户登录Linux系统后,通常接触的第一个软件环境就是bash ... -
linux下使用Win Modem
2016-11-15 11:50 487inux下使用Win Modem 我是一名Linux爱好者, ...
相关推荐
Linux下C语言应用编程》深入浅出地讲解了Linux下C应用程序开发所需的基本工具、知识和技巧,主要包括:开发工具的使用和技巧、文件I/O编程、多进程编程、进程间通信、多线程编程、网络编程等内容。可以让读者轻松、...
linux下C语言编写的摄像头显示视频,可在开发板(arm编译)使用,不过像素差了点,可修改参数来改变画质。
GCC是Linux中的标准编译器,可以将源代码编译为可执行文件。开发者需要学习如何使用`gcc`命令行工具进行编译、链接,以及添加头文件路径、库文件路径等编译选项。 其次,理解Linux的文件I/O操作至关重要。C语言提供...
LINUX下C语言实现 两个文件合并成第三个文件
在Linux系统中,掌握基本的命令行操作和C语言库函数是成为一名熟练的开发者或系统管理员的必备技能。本资源“Linux及C语言库函数精华大全”提供了丰富的学习材料,涵盖了Linux下的各种命令以及C语言的常用库函数,对...
linux下C编程一站式学习,GCC中文手册,linux下C语言函数库
在Linux系统中,C语言可以通过标准库如`socket.h`来访问和操作套接字接口,这是进行网络通信的基础。 1. **套接字编程**:Web服务器的核心是监听和处理客户端的TCP连接。在C语言中,通过调用`socket()`函数创建一个...
Linux下C语言开发工具
在Linux环境下,C语言更是与内核紧密相连,许多核心系统工具和库都是用C编写的。学习C语言能够帮助开发者理解操作系统的工作原理,并为编写高效的系统级代码打下基础。 Linux是一个开源的操作系统,其源码主要由...
《基于C语言在Linux下实现贪吃蛇游戏的探索与实践》 在计算机科学的世界里,C语言以其高效、简洁的特性,一直是编程初学者和专业开发者的重要工具。本项目"基于C语言在Linux下贪吃蛇项目",旨在通过实际操作,帮助...
适用于linux环境的C语言程序,获取网卡MAC地址,附详细操作说明,两种方式写成的程序,都能达到所需功能,测试可用。
- `11-Linux下C语言编程环境.ppt`可能涵盖了如何在Linux上设置开发环境,包括安装GCC编译器,使用Makefile进行项目管理,以及调试工具GDB的使用。 2. **文件IO编程**: - `12-文件IO编程.ppt`会讲解Linux下的文件...
首先,我们需要理解Linux中的文件I/O(输入/输出)系统调用。在C语言中,`#include <stdio.h>`库提供了基本的文件操作函数,如`fopen()`、`fread()`、`fwrite()`和`fclose()`。`fopen()`用于打开文件,`fread()`和`...
C语言作为计算机科学的基础,它的简洁性和灵活性使得它在Linux开发中占有举足轻重的地位。 首先,了解Linux的基本操作是必要的,这包括使用命令行界面(CLI)来执行程序、管理文件和目录、查看和修改文件权限等。...
linux下C语言实现FTP上传文件源码 一个函数搞定FTP上传 直接编译可用 int main() { ftp_upload("ipx.xxx.xxx.xxx",21,"username","password","./main.c","upload_name"); return 0; }
在Linux中,C语言程序的编译通常使用GCC(GNU Compiler Collection)进行。例如,一个简单的源文件`hello.c`,包含`main`函数,可以使用以下命令进行编译: ```bash gcc -o hello hello.c ``` 这里的`-o`选项用于...
【标题】"五子棋(Linux下C语言编写)"是一个在Linux操作系统环境下用C语言实现的五子棋游戏。这款游戏的独特之处在于它的AI设计,据描述称,它具有相当高的难度,使得大多数玩家难以战胜计算机对手。通过使用C语言...
Linux是一个开源的操作系统,其内核主要用C语言编写,因此,Linux程序员需要精通C语言,以便进行系统编程。这包括理解指针的概念,它们在内存管理和高效编程中的作用,以及如何使用系统调用来与操作系统交互,如打开...
在Linux操作系统中,C语言是一种基础且强大的编程语言,它为开发者提供了低级访问系统资源的能力。本手册详细介绍了在Linux环境下使用C语言编程时所涉及的各种函数,这对于理解和开发高效、可靠的系统级程序至关重要...