linuxC编程
文章平均质量分 85
Jody1989
这个作者很懒,什么都没留下…
展开
-
自动变量与非自动变量
自动变量 局部变量,如不作专门说明为静态变量,都是动态分配存储空间,存储在动态存储区中。这种变量叫自动变量。这种变量只在定义它们的时候才创建,在定义它们的函数返回时系统回收变量所占存储空间。对这些变量存储空间的分配和回收是由系统自动完成的,所以也叫自动变量。一般情况下,不作转载 2011-09-25 10:32:50 · 531 阅读 · 0 评论 -
C语言转换说明符
格式转换说明符printf() / scanf()本文转自:http://www.cnblogs.com/ilegend/articles/2258701.html 表一 转换说明符及作为结果的打印输出转换说明输 出%a浮点数、十六进制数字和p-记数法(C99)转载 2017-06-20 18:36:31 · 3007 阅读 · 0 评论 -
Linux 下 C语言大文件读写(大于4G)
以下的做法整理自论坛上的帖子。 如何create大文件要大就非常大,1T吧。有两种方法: 一.dddd if=/dev/zero of=1T.img bs=1G seek=1024 count=0bs=1G表示每一次读写1G数据,count=0表示读写0次,seek=1024表示略过1024个Block不写,前面blocksize是1G,所以共略过1T!这是转载 2016-02-18 16:26:45 · 6258 阅读 · 0 评论 -
关于sscanf函数的各种详细用法
看书的时候碰到sscanf函数,就上网查了很多资料,并加以自己的整理,希望对大家有所帮助。(因为参考的博客太多太散,就不一一注明,望大神们见谅) sscanf() :从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf( string str, string fmt, mixed var1, mixed var2 ... );转载 2017-03-29 18:05:49 · 16629 阅读 · 0 评论 -
解析linux 文件和目录操作的相关函数
以下是对linux中文件和目录操作的相关函数进行了详细的分析介绍,需要的朋友可以过来参考下struct stat{mode_t st_mode; 文件类型,文件权限ino_t st_ino; i节点号dev_t st_dev; dev_t st_rdev; 设备文件序号nlink_t转载 2016-02-15 19:42:46 · 2778 阅读 · 0 评论 -
fork函数(1)
fork函数 在linux中,只有一个函数可以创建子进程:fork。 #include #include pid_t fork(void); 由f o r k创建的新进程被称为子进程( child proce转载 2011-10-17 09:50:41 · 403 阅读 · 0 评论 -
动态库与静态库优缺点比较
目录(?)[-]动态库与静态库优缺点比较一 在windows中二 在linux中三 静态库和动态库的优缺点1什么是库2库的种类3库存在的意义4库文件是如何产生的在linux下5库文件是如何命名的有没有什么规范6如何知道一个可执行程序依赖哪些库7可执行程序在执行的时候如何定位共享库文件8在新安装一个库之后如何让系统能够找到他四 静态库五 动态库1创建共享库2编译共享库转载 2016-03-10 17:29:24 · 617 阅读 · 0 评论 -
localtime_r的替代实现
localtime_r的替代实现“` C++ struct tm * my_localtime_r(const time_t *srctime,struct tm *tm_time) { long int n32_Pass4year,n32_hpery;// 每个月的天数 非闰年const static char Days[12] = {31, 28, 31, 30, 31, 30转载 2017-06-14 11:29:33 · 1297 阅读 · 0 评论 -
多线程使用linux时间函数的方法
linux的时间函数有其特别需要注意的使用方法,在工程项目中,这点很容易忽视,本文就时间函数在多线程中的使用作一个小结。首先看一个函数,取下一天的功能函数,该函数使用了时间函数localtime或者localtime_r来获取系统时间。int GetNextTime(int curtm){ struct tm t; t.tm_year = curtm/10000 - 1转载 2017-06-14 11:33:41 · 906 阅读 · 0 评论 -
C语言运算中的数据类型自动转换原则
1、隐式转换 C在以下四种情况下会进行隐式转换: 1、算术运算式中,低类型能够转换为高类型。 2、赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给他。 3、函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。 4、函数有返回值时,系统将隐式地将返回表达式类型转换为返回值类型,赋值给调用函数。转载 2016-01-19 19:49:15 · 875 阅读 · 0 评论 -
C语言中的数据类型及其转换详解
C语言中的数据类型及其转换详解1. C语言中的数据类型 C语言中的类型按其组成可以分为简单类型和构造类型,按是否预定义了类型名字和值集可以分为基本类型和非基本类型,按是否加了类型限定符可以分为限定类型和非限定类型。 ANSI C99标准中类型定义的BNF语法如下图。 说明:typedef可以定义新数据类型,如typedef long int FOUR_BYTE转载 2016-01-19 19:48:18 · 854 阅读 · 0 评论 -
C中堆管理——浅谈malloc,calloc,realloc函数之间的区别
今天下午花了两个小时,了解了下堆管理的几个常用函数,总结如下: 内存区域可以分为栈,堆,静态存储区和常量存储区。局部变量,函数形参,临时变量都是在栈上获得内存的,它们获取的方式都是由编译器自动执行的。 C 标准函数库提供了许多函数来实现对堆上内存转载 2011-09-25 21:04:37 · 487 阅读 · 0 评论 -
C/C++中static关键字详解
静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值。 静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见。用法1:函数内部声明的static变量,可作为对象间的一种通信机制 如果转载 2011-09-25 10:01:41 · 461 阅读 · 0 评论 -
内存区划分(C++)
一. 在c中分为这几个存储区1.栈 - 由编译器自动分配释放2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变转载 2011-09-25 21:00:32 · 418 阅读 · 0 评论 -
c中strncmp与memcmp的区别
函数:int memcmp (const void *a1, const void *a2, size_t size) 函数memcmp用于比较字符串s1与s2的前size个字符。 如果两上字符块相同,memcmp将返回0。函数:int s转载 2011-10-13 15:37:37 · 742 阅读 · 0 评论 -
C语言字节对齐详解
一、什么是对齐,以及为什么要对齐:1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这转载 2011-10-13 15:32:25 · 407 阅读 · 0 评论 -
exit(0)与exit(1)、return区别
exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序;return():返回函数,若在主函数中,则会退出函数并返回一值。详细说: 1. return返回函数值,是关键字; exit 是一个函数。 2. ret转载 2011-09-26 10:52:56 · 9229 阅读 · 0 评论 -
exit和_exit 进程终止有5种方法: 1正常终止 (1)从main函数返回 (2)调用exit (3)调用_exit 2异常终止 (1)调用abort (2)由一个信号来终止 exi
四个函数的声明分别是: void* realloc(void* ptr, unsigned newsize); void* malloc(unsigned size); void* calloc(size_t nelem, s转载 2011-10-17 15:28:14 · 1000 阅读 · 0 评论 -
内存空间分几部分:代码段、数据段,栈,堆 (收集整理)
1.函数代码存放在代码段。声明的类如果从未使用,则在编译时,会优化掉,其成员函数不占代码段空间。全局变量或静态变量,放在数据段,局部变量放在栈中,用new产生的对象放在堆中,内存分为4段,栈区,堆区,代码区,全局变量区(全局区包括数据段、BSS段)BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Bl转载 2011-11-10 20:12:23 · 786 阅读 · 0 评论 -
gdb加了-g仍然(no debugging symbols found)
想用gdb对程序进行调试,之前的时候就想用gdb的,结果发现加了-g也还是不行,显示如下:GNU gdb 6.8Copyright (C) 2008 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>This is free...转载 2018-06-02 12:47:27 · 2127 阅读 · 1 评论