文章分类 -  c/c++

摘要:https://www.cnblogs.com/muahao/p/7509629.html C 语言本身并不自带集合(Collection)工具,当我们需要把结构体(struct)实例串联起来时,就需要在结构体内声明指向下一实例的指针,构成所谓的“链表”。而为了实现对链表的操作,我们需要另外实现一系 阅读全文
posted @ 2021-10-19 11:00 hbg-rohens 阅读(758) 评论(0) 推荐(0) 编辑
摘要:出处: https://blog.csdn.net/sandware/article/details/40923491 1. AF_INET域socket通信过程 AF_INET域通信过程典型的TCP/IP四层模型的通信过程。发送方、接收方依赖IP:Port来标识,即将本地的socket绑定到对应的 阅读全文
posted @ 2019-05-16 10:37 hbg-rohens 阅读(152) 评论(0) 推荐(0) 编辑
摘要:转载:http://blog.csdn.net/fengqiaoyebo2008/article/details/6210499 1、创建一个java文件(HelloWorld.java)。 class HelloWorld { static { System.loadLibrary("HelloW 阅读全文
posted @ 2019-03-13 09:40 hbg-rohens 阅读(335) 评论(0) 推荐(0) 编辑
摘要:对于进程的一生可以用一些形象的比喻作一个小小的总结: 随着一句fork,一个新进程呱呱落地,但它这时只是老进程的一个克隆。 然后随着exec,新进程脱胎换骨,离家独立,开始了为人民服务的职业生涯。 人有生老病死,进程也一样,它可以是自然死亡,即运行到main函数的最后一个”}”,从容地离我们而去;也 阅读全文
posted @ 2018-03-03 10:47 hbg-rohens 阅读(245) 评论(0) 推荐(0) 编辑
摘要:glob库函数用于Linux文件系统中路径名称的模式匹配,即查找文件系统中指定模式的路径。注意,这不是正则表达式匹配,虽然有些相似,但还是有点差别。 glob函数原型 #include <glob.h> int glob(const char *pattern, int flags, int err 阅读全文
posted @ 2018-03-02 10:24 hbg-rohens 阅读(1264) 评论(0) 推荐(0) 编辑
摘要:头文件一般而言,是申明和定义。库文件是已经编译好的二进制代码。这个二进制代码可以是动态的,如 .so 也可以是静态的,如 .a ,如果是动态的,则你最后生成的程序文件在运行时,需要这个动态库的支持,如果是静态的,则你最后生成的客执行程序文件运行时可以脱离这个库文件而独立运行。 1.从几个问题谈起 问 阅读全文
posted @ 2017-08-14 10:47 hbg-rohens 阅读(200) 评论(0) 推荐(0) 编辑
摘要:mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。mmap在用户空间映射调用系统中作用很大。头文件 <sys/mman.h>函数原型void* mmap(void* start, size_t length, int 阅读全文
posted @ 2017-06-15 16:53 hbg-rohens 阅读(2258) 评论(0) 推荐(0) 编辑
摘要:问题:结构体中最后定义一个类似 char p[0] 这样的成员,有何意义? 回复1:这是个广泛使用的常见技巧,常用来构成缓冲区。比起指针,用空数组有这样的优势: 1.不需要初始化,数组名直接就是所在的偏移 2.不占任何空间,指针需要占用int长度空间,空数组不占任何空间。 从herryhuang(H 阅读全文
posted @ 2017-04-27 08:55 hbg-rohens 阅读(680) 评论(0) 推荐(0) 编辑
摘要:关于c语言中的大整数常量--by流氓兔斯基之前编译程序的时候发现了这个问题:warning: this decimal constant is unsigned only in ISO C90找了一下解决方式,记录一下:1 在常数后面增加一个UL标识,或者ULL表示,如4294967295UL,这样... 阅读全文
posted @ 2015-12-29 14:10 hbg-rohens 阅读(459) 评论(0) 推荐(0) 编辑
摘要:一、fork入门知识一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和... 阅读全文
posted @ 2015-12-01 11:28 hbg-rohens 阅读(144) 评论(0) 推荐(0) 编辑
摘要:1、前言 今天在看代码时,遇到offsetof和container_of两个宏,觉得很有意思,功能很强大。offsetof是用来判断结构体中成员的偏移位置,container_of宏用来根据成员的地址来获取结构体的地址。两个宏设计的很巧妙,值得学习。linux内核中有着两个宏的定义,并在链表结构中... 阅读全文
posted @ 2015-11-11 11:10 hbg-rohens 阅读(252) 评论(0) 推荐(0) 编辑
摘要:long int strtol(const char *nptr, char **endptr, int base)strtol()会将nptr指向的字符串,根据参数base,按权转化为long int, 然后返回这个值。参数base的范围为2~36,和0;它决定了字符串以被转换为整数的权值。可以被... 阅读全文
posted @ 2015-08-26 11:24 hbg-rohens 阅读(313) 评论(0) 推荐(0) 编辑
摘要:1、strtok函数函数原型:char * strtok (char *str, const char * delimiters);参数:str,待分割的字符串(c-string);delimiters,分割符字符串。该函数用来将字符串分割成一个个片段。参数str指向欲分割的字符串,参数delimi... 阅读全文
posted @ 2015-08-26 11:16 hbg-rohens 阅读(1863) 评论(0) 推荐(0) 编辑
摘要:GNU CC(简称为Gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。Gcc不仅功能强大,而且可以编译如C、C++、Object C、Java、Fortran、Pascal、Modula-3和Ada等多种语言,而且Gcc又是一个交叉平台编译... 阅读全文
posted @ 2015-08-25 13:51 hbg-rohens 阅读(1541) 评论(0) 推荐(0) 编辑
摘要:mktime(将时间结构数据转换成经过的秒数)相关函数time,asctime,gmtime,localtime表头文件#include 定义函数time_t mktime(strcut tm * timeptr);函数说明mktime()用来将参数timeptr所指的tm结构数据转换成从公元197... 阅读全文
posted @ 2015-08-25 11:40 hbg-rohens 阅读(211) 评论(0) 推荐(0) 编辑
摘要:getenv(取得环境变量内容)相关函数putenv,setenv,unsetenv 表头文件#include 定义函数char * getenv(const char *name); 函数说明getenv()用来取得参数name环境变量的内容。参数name为环境变量的名称,如果该变量存在则会返回... 阅读全文
posted @ 2015-08-24 09:14 hbg-rohens 阅读(4713) 评论(0) 推荐(0) 编辑
摘要:GCC中可以使用__attribute__((regparm(n)))指定最多可以使用n个寄存器(eax, edx, ecx)传递参数,n的范围是0~3,超过n时则将参数压入栈中(n=0表示不用寄存器传递参数)。看下面例子,函数p1约定不使用寄存器传递参数,尽管只有1个参数,仍然将参数压入栈中。函数... 阅读全文
posted @ 2015-08-19 11:16 hbg-rohens 阅读(456) 评论(0) 推荐(0) 编辑
摘要:相关函数表头文件 #include定义函数 int getopt(int argc,char * const argv[ ],const char * optstring);函数说明getopt()用来分析命令行参数。参数argc和argv是由main()传递的参数个数和内容。参数optstring... 阅读全文
posted @ 2015-08-18 16:21 hbg-rohens 阅读(115) 评论(0) 推荐(0) 编辑
摘要:变量一般情况下都存在于内存中。如果程序需要使用某个变量,CPU的控制器将从内存中取得变量值后会将其暂存在寄存器中。寄存器就是CPU自己的"小内存",它的特点是"容量小、速度快"。正常情况下,编程语言本身无法直接操作寄存器。但某些时候,一些变量可能会被频繁地使用,这时,频繁地对内存进行存取操作就会耗费... 阅读全文
posted @ 2015-08-17 17:22 hbg-rohens 阅读(360) 评论(0) 推荐(0) 编辑
摘要:new和delete最终调用malloc和free,关于malloc和free实现原理参见这篇文章:http://blog.csdn.net/passion_wu128/article/details/38964045newnew操作针对数据类型的处理,分为两种情况:1,简单数据类型(包括基本数据类... 阅读全文
posted @ 2015-08-06 11:22 hbg-rohens 阅读(137) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示