文档章节

Linux中的C语言妙用

疯狂的小黑
 疯狂的小黑
发布于 2016/11/22 12:53
字数 305
阅读 4
收藏 0
点赞 0
评论 0

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)

© 著作权归作者所有

共有 人打赏支持
疯狂的小黑
粉丝 2
博文 96
码字总数 80472
作品 0
东城
程序员
你为什么看不懂Linux内核驱动源码?

学习嵌入式Linux驱动开发,最核心的技能就是能够编写Linux内核驱动、深入理解Linux内核。而做到这一步的基础,就是你要看得懂Linux内核源码,了解其基本的框架和具体实现,了解其内核API的使...

宅学部落 ⋅ 04/28 ⋅ 0

算法小论——第一章 天之道,损有余而奉不足……咳咳拿错稿子了

笔记 这一章基本上就是忽悠大家努力学习算法:算法是一种通过有限步骤的运算来解决计算问题的方式,blabla...算法和数据结构密切相关。算法是一种技术。好的算法可以比差的算法猛的多,好几个...

难易 ⋅ 2014/07/04 ⋅ 2

linux-4.16.8源码目录分析

【仍然是操作系统实验作业..我哭】【都是google来的答案,我什么都不知道...】 1.arch:与体系结构相关的代码,里面存放了很多cpu架构,比如arm,x86,MIPS,PPC等。Linux支持的每种体系结构(对...

qq_40172927 ⋅ 05/12 ⋅ 0

Linux 程序设计--读书笔记

1 Linux 程序设计 1.1 Linux shell 登录进 Linux 与 shell 进行交互时, 它像 Windows 中的命令提示窗口一样运行程序. 它在一组指定的目录路径下按照你给出的程序名搜索与之同名的文件. 搜索的...

yuberhu ⋅ 05/06 ⋅ 0

Mac Book 上的touch id妙用

使用新版的macbook或pro都是支持Touch ID。 Touch ID在工作生活中,有哪些妙用。 今天介绍一下我常用的touch id 1password6 新版的1password支持使用touch ID解锁🔐。以前,每次调用1pass...

若与 ⋅ 04/20 ⋅ 0

Redis简介及Linux安装Redis

前言 本文主要内容: 1、简介redis,及使用的一些场景 2、linux安装redis 1、什么是Redis? redis是一个基于C语言编写的,支持网络,也可基于内存亦可持久化的日志型,Key-Value的数据库,提供...

LoveQueena ⋅ 05/12 ⋅ 0

漏洞预警 Linux内核出现多个漏洞

  漏洞概述   Linux是一种开源电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。漏洞发生在 Linux 内核中,可造成越界访问或释放后再使用的安全问题。   漏洞影...

FreeBuf ⋅ 05/18 ⋅ 0

从 Unix 到 Linux 这一段历史

为什么大家常常会说,Linux是很稳定的一套操作系统呢?这是因为,Linux他有个老前辈,那就是Unix家族!有这个前辈的提携,让Linux这个小老弟很快的就成为一套稳定而优良的操作系统啦!所以,...

qq_42191392 ⋅ 05/12 ⋅ 0

1.liunx历史介绍

前言(1):操作系统介绍 内核负责控制硬件资源分配,而如果只有内核,则只能让计算机硬件运行,而不能有任何功能,因此需要系统调用提供给开发者使用,从而开发应用程序;内核能够控制硬件,比...

闪电王 ⋅ 2017/12/11 ⋅ 0

嵌入式工程师有前途吗 嵌入式开发的职业发展方向是什么

嵌入式早在70年代出现到现在,有将近30年的发展历史,能够长久存在并且可持续发展。从工程师起步, 一般有几个发展方向,一个是成为技术方面的核心,领域内的专家;另一个是从项目中锻炼起来...

创客学院 ⋅ 04/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Mahout推荐算法之SlopOne

一、 算法原理 有别于基于用户的协同过滤和基于item的协同过滤,SlopeOne采用简单的线性模型估计用户对item的评分。如下图,估计UserB对ItemJ的偏好 图(1) 在真实情况下,该方法有如下几个...

xiaomin0322 ⋅ 33分钟前 ⋅ 0

LVM讲解

LVM是什么 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地...

李超小牛子 ⋅ 42分钟前 ⋅ 0

mysql更改密码、连接mysql、mysql常用命令

1. 更改mysql的root账户密码: mysql中root账户和系统root不是一个账户 1.1 更改环境变量PATH,增加mysql绝对路径 由于mysql安装目录为/usr/local/mysql/,所以系统不能直接使用mysql,需把/...

laoba ⋅ 44分钟前 ⋅ 0

阿里云发布企业数字化及上云外包平台服务:阿里云众包平台

摘要: 阿里云正式发布旗下众包平台业务(网址:https://zhongbao.aliyun.com/),支持包括:网站定制开发,APP、电商系统等软件开发,商标、商品LOGO、VI、产品包装设计、营销推广、大数据人...

猫耳m ⋅ 44分钟前 ⋅ 0

阿里云发布企业数字化及上云外包平台服务:阿里云众包平台

摘要: 阿里云正式发布旗下众包平台业务(网址:https://zhongbao.aliyun.com/),支持包括:网站定制开发,APP、电商系统等软件开发,商标、商品LOGO、VI、产品包装设计、营销推广、大数据人...

阿里云云栖社区 ⋅ 47分钟前 ⋅ 0

1.03-Maven中使用ueditor富文本编辑器

起因:在maven仓库未找到百度的ueditor的jar包 操作: 1.下载百度的ueditor的jar包 2.打开命令行,切换到ueditor的下载位置,运行一下命令: mvn install:install-file -Dfile=ueditor-1.1....

静以修身2025 ⋅ 53分钟前 ⋅ 0

几道Spring 面试题

1、BeanFactory 接口和 ApplicationContext 接口有什么区别? ApplicationContext 接口继承BeanFactory接口 Spring核心工厂是BeanFactory BeanFactory采取延迟加载,第一次getBean时才会初始...

职业搬砖20年 ⋅ 今天 ⋅ 0

包饺子

http://storage.slide.news.sina.com.cn/slidenews/77_ori/2018_24/74766_826131_625489.gif

霜叶情 ⋅ 今天 ⋅ 0

xml解析

方法一: String s_xml1 = "<xml>" + "<head>lalalalal</head>" + "<body>1234</body>" + "</xml>"; try { DocumentBuilderFactory documentBuilderFactory......

GithubXD ⋅ 今天 ⋅ 0

reuse stream

Although Java streams were designed to be operated only once, programmers still ask how to reuse a stream. From a simple web search, we can find many posts with this same issue ......

idoz ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部