C/C++
文章平均质量分 60
冬生0
这个作者很懒,什么都没留下…
展开
-
KMP算法中如何求next数组
KMP算法如何求next数组原创 2023-02-21 16:42:13 · 303 阅读 · 0 评论 -
ioctl 简介及示例
一、ioctl 简介ioctl是应用与驱动的常用接口。对字符设备、块设备、及套接字,非常方便扩充新的命令。二、定义#include <sys/ioctl.h>int ioctl(int fd, unsigned long request, ...);fd 是操作的描述符,在Linux中一切设备皆文件;request 是发给设备的请求命令,部分命令定义可以从 /usr/include/linux/fs.h查找,例如#define BLKDISCARD _IO(0x12,119)。.原创 2022-03-12 17:58:48 · 8312 阅读 · 0 评论 -
进程通信之管道
存在一个问题 示例4:/*父进程与子进程之间交互:父进程向子进程写入from parent process,子进程向父进程写入from child process*/参考文章http://kenby.iteye.com/blog/1166111 Linux进程通信 之 管道0.序进程之间的通信 IPC: 进程之间通信实际上就是进程之间进行转载 2014-07-11 08:05:29 · 766 阅读 · 0 评论 -
__attribute__ ((packed))的真面目
我们在程序开发过程中往往会遇到这样的问题:以某种数据格式写入,再以此格式读出,特别是socket通信中,通常会遇到数据错位问题,这就是数据结构的对齐的问题。为了让我们的数据结构以最优的方式存储,处理,保证读写数据结构都一一对齐,我们往往采用3种方式:1.程序作者,手动对齐,将数据按从小到大的顺序排列,尽量凑齐。2.使用#pragma pack (n)来指定数据结构的对齐值。3.使用 _转载 2013-10-14 18:28:14 · 1208 阅读 · 0 评论 -
extern C的使用
作用简介extern “C”通知编译器将extern “C”所包含的代码按照C的方式编译和链接。主要目的是 C++代码可以调用C接口因为C与C++编译后在符号库中的名字不同C _funcC++ _func_type_type_type1、在C++的使用示例:1.1直接混编代码#ifdef __cplusplusextern "C" {#endif /*原创 2016-12-24 11:56:09 · 561 阅读 · 0 评论 -
求二叉树从叶子到根节点的值组成数字的和
二叉树、路径值求和原创 2017-06-18 19:59:37 · 1181 阅读 · 0 评论 -
函数、方法和接口的区别
函数是语句序列的打包;方法是对 对象成员的操作,由函数实现;接口是对方法的抽象和概括,有方法实现具体的接口;//之前是C开发,学习Go之后的认识。原创 2017-09-21 22:49:22 · 9644 阅读 · 0 评论 -
signal的不可靠性和sigsuspend的使用
一、signal 是不可靠的:在Ubuntu10.04,Kernel 2.6.23上,其设置的信号函数仅仅触发一次,触发完之后恢复为默认动作,但是sigaction函数设置之后一直有效;如下代码(摘自UNIX环境高级编程)当使用signal时,仅仅触发一次sig_int,再次发送中断信号执行默认操作:程序被终止;但是用sigaction设置,一直会触发sig_int函数;#原创 2017-10-29 23:48:50 · 1273 阅读 · 0 评论 -
孤儿进程和僵尸进程
一、定义:什么是孤儿进程和僵尸进程 僵尸进程:一个子进程在其父进程还没有调用wait()或waitpid()的情况下退出。这个子进程就是僵尸进程。 孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。示例: 僵尸进程:一个子进程在其父进程还转载 2014-07-11 08:16:41 · 687 阅读 · 0 评论 -
对于linux下system()函数的深度理解(整理)
这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数中调用的命令也都一切正常.就没理这个bug,以为是其他的代码影响到这个,或是内核驱动文件系统什么的异常导致,昨天有出现了这个问题,就随手百了一下度,问题出现了,很多人都说system()函数要慎用要少用要能不用则不用,system()函数不转载 2014-07-16 22:22:01 · 1282 阅读 · 0 评论 -
函数可重入性及编写规范
一、可重入函数1)什么是可重入性?可重入(reentrant)函数可以由多于一个任务并发使用,而不必担心数据错误。相反, 不可重入(non-reentrant)函数不能由超过一个任务所共享,除非能确保函数的互斥(或者使用信号量,或者在代码的关键部分禁用中断)。可重入函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。可重入函数要么使用本地变量,要么在使用全局变量时保护自己的数据转载 2014-03-06 10:05:19 · 861 阅读 · 0 评论 -
12个 有趣的 C 语言面试题
1.gets()函数问:请找出下面代码里的问题:[cpp] view plaincopyprint?#include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets(buff); printf("\n转载 2014-09-21 21:47:00 · 880 阅读 · 0 评论 -
常见算法:C语言求最小公倍数和最大公约数三种算法
最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接求最小公倍数算法:最小公倍数=两整数的乘积÷最大公约数求最大公约数算法:(1)辗转相除法有两整数a和b:① a%b得余数c② 若c=0,则b即为转载 2014-10-28 10:33:05 · 801 阅读 · 0 评论 -
常见gcc编译警告整理(开始)
1、warning: no newline at end of file在文件最后一行加上回车键解释:在《Rationale for the C99 standard》一文中,有C99的相关信息:A backslash immediately before a newline has long been used to continue string literals, as转载 2015-01-15 14:18:32 · 933 阅读 · 0 评论 -
C语言判断文件夹名是否合法
/*************************************************************************** * Function Name: validateFoldername * Description: The ength of folder name should be less than 255. *原创 2015-02-28 18:40:37 · 3397 阅读 · 0 评论 -
Linux下的静态库和动态库
今天编译open-iscsi时遇到:/usr/bin/ld: cannot find -lc折腾半天,最后发现是makefile文件中在cc编译参数后面有 -static参数,进行静态编译需要安装glibc-static静态库,去掉static参数顺利编译,也可以安装glibc-static库一、gcc链接库 gcc的链接库分两种,分别是静态库和动态库,静态转载 2014-09-30 11:27:17 · 700 阅读 · 0 评论 -
Linux下的时间结构及函数
1、时间类型。Linux下常用的时间类型有4个:time_t,struct timeb, struct timeval,struct timespec,clock_t, struct tm.(1) time_t是一个长整型,一般用来表示用1970年以来的秒数.该类型定义在中.一般通过 time_t time = time(NULL); 获取.(2) st转载 2014-08-20 21:52:02 · 818 阅读 · 0 评论 -
SIGCHLD信号和waitpid(经典问题)
:SIGCHLD信号简介: SIGCHLD属于unix以及类unix系统的一种信号 产生原因 siginfo_t代码值 1,子进程已终止 CLD_EXITED 2,子进程异常终止(无core) CLD_KILLED 3,子进程异常终止(有core) CLD_DUMPED 4,被跟踪子进程以陷入 CLD_TRAPPED转载 2014-07-17 22:38:28 · 1286 阅读 · 0 评论 -
typedef用法总结
不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。用途一:定义一种类转载 2014-03-05 21:33:03 · 758 阅读 · 0 评论