随笔分类 -  C

c/c++处理参数
摘要:直接上代码:涉及函数getopt(),getopt_long() 1 #include 2 #include 3 #include 4 #include 5 6 /* 7 int main(int argc, char *argv[]) 8 { 9 int opt;10 c... 阅读全文

posted @ 2015-10-10 18:00 阳台 阅读(682) 评论(0) 推荐(0) 编辑

ceph之rbd读写API 测试
摘要:rados、rbd读写API测试: 1 //compile: 2 //gcc ceph_test_v2.c -lrbd -lrados -g -Wall 3 4 #include <stdio.h> 5 #include <stdlib.h> 6 #include <string.h> 7 #inc 阅读全文

posted @ 2015-06-19 16:30 阳台 阅读(1102) 评论(0) 推荐(0) 编辑

关于指针
摘要:malloc与不使用malloc 1 #include 2 #include 3 4 5 typedef struct { 6 int a; 7 char * ch; 8 int aa; 9 }node;10 11 int main()12 {13 int... 阅读全文

posted @ 2015-06-01 19:57 阳台 阅读(164) 评论(0) 推荐(0) 编辑

将一个int转成二进制c
摘要:/*由于是2位 十进制整数,所以转化后可以存 一个int 型中;reverse函数 提供了这种转化如果需要转化的数字比较大int存不下,则需要数组来存*/#includeint reverse(int a){ int b=0, c=1; while(a) { b+=(a%2)*c; c*=10;... 阅读全文

posted @ 2014-09-22 09:06 阳台 阅读(3831) 评论(0) 推荐(0) 编辑

什么是堆和栈,它们在哪儿?
摘要:http://kb.cnblogs.com/page/501239/ 阅读全文

posted @ 2014-08-15 11:14 阳台 阅读(163) 评论(0) 推荐(0) 编辑

Linux下的定时器
摘要:以下摘自linux下的man文件:(man getitimer) #include int getitimer(int which, struct itimerval * curr_value); int setitimer(int which, const struct itimerval... 阅读全文

posted @ 2014-08-06 14:01 阳台 阅读(381) 评论(0) 推荐(0) 编辑

Makefile
摘要:转:http://blog.csdn.net/haoel/article/details/2890 首先看GCC编译四个阶段:http://www.cnblogs.com/chris-cp/p/3865035.html 转:http://www.cnblogs.com/luchen927/arc... 阅读全文

posted @ 2014-07-24 14:15 阳台 阅读(249) 评论(0) 推荐(0) 编辑

GCC编译四阶段
摘要:Linux下程序编译的四个阶段:预处理、编译、汇编、链接GCC: GUN C Compiler 但现在不只局限于c语言预处理(Preprocessing): gcc -E hello.c -o hello.i -E选项意思不晓得 1、在源程序中插入include包含的头文件; 2、宏定义... 阅读全文

posted @ 2014-07-24 10:54 阳台 阅读(514) 评论(0) 推荐(0) 编辑

c基础总结
摘要:机器大小端判断: 1 #include 2 3 typedef union{ 4 char x; 5 int i; 6 }un; 7 8 int main() 9 {10 un tt; 11 tt.i = 1;12 13 if(tt.x == 1)... 阅读全文

posted @ 2014-07-23 15:23 阳台 阅读(156) 评论(0) 推荐(0) 编辑

c语言中重要函数
摘要:gets函数,从标准输入读取一行文本,一行输入由一串字符组成,以一个换行符结尾;gets函数丢弃换行符,并在该行的末尾存储一个NUL字符(类似‘\0’), 然后返回一个非NULL值。当gets函数被调用但事实上不存在输入行时,它返回NULL值。注意点:给字符串分配空间加NUL的空间;格式字符串包含格... 阅读全文

posted @ 2014-05-22 17:33 阳台 阅读(474) 评论(0) 推荐(0) 编辑

c/c++中宏定义##连接符 和#符的使用
摘要:C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量 通过替换后在其... 阅读全文

posted @ 2014-04-24 13:48 阳台 阅读(672) 评论(0) 推荐(0) 编辑

#pragma的用法
摘要:在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和 C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para 其中Para 为参数,下面来看一些常用的参数。 (1)message 参数。 Message 参数是我最喜欢的一个参数,它能够在编译信息输出窗 口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为: #Pragma m... 阅读全文

posted @ 2014-03-17 10:42 阳台 阅读(393) 评论(0) 推荐(0) 编辑

静态变量、静态函数 与 普通变量 普通函数的区别
摘要:关于这个问题不得不涉及到 堆 和 栈的区别1. 内存分配 一个有c/c++编译的程序占用的内存分为以下几个部分 (1). 栈区(stack)--------由编译器自动分配释放, 存放函数的参数,局部变量的值等。其操作方式类似于数据结构中的栈。 (2).堆区(heap)---------一般由程序员分配、释放。若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 (3).全局区(静态区)(static)-----------全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态... 阅读全文

posted @ 2014-01-21 14:34 阳台 阅读(1987) 评论(0) 推荐(0) 编辑

C标准中一些预定义的宏
摘要:C标准中指定了一些预定义的宏,对于编程经常会用到。下面这个表中就是一些常常用到的预定义宏。 宏(双下滑线) 意义 __DATE__ 进行预处理的日期(“Mmm dd yyyy”形式的字符串文字) __FILE__ 代表当前源代码文件名的字符串文字 __LINE__ 代表当前源代码中的行号的整数常量 __TIME__ 源文件编译时间,格式微“hh:mm:ss” __func__ 当前所在函数名 对于__FILE__,__LINE__,__func__这样的宏,在调试程序时是很有用的,因为你可以很容易的知道程序运行到了哪个文件的那一行,是哪个函数。 下面一个... 阅读全文

posted @ 2014-01-13 11:29 阳台 阅读(238) 评论(0) 推荐(0) 编辑

linux下curl编程
摘要:LibCurl是免费的客户端URL传输库,支持FTP,FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, FILE ,LDAP等协议,其主页是http://curl.haxx.se/。Libcurl具备线程安全、IpV6兼容、易于使用的特点。本文档... 阅读全文

posted @ 2014-01-09 14:38 阳台 阅读(2510) 评论(0) 推荐(0) 编辑

c语言中-----分配内存函数
摘要:原型: void * realloc(void *p, size_t size); realloc 可以对给定的指针所指的空间进行扩大 或者 缩小, 原有内存的数据保持不变。当然,对于缩小,则缩小部分的那一部分的内容会丢失; realloc 并不保证调整后的内存空间 和原来的内存空间保持同一内存地址。 而且 realloc 返回值很可能的是一个新的地址;这是因为realloc是从堆上分配内存的, 当扩大一块内存空间时,realloc直接从堆上现存的数据后面的那些字节中获得附加字节空间;但是如果数据后面的字节空间不够的话,那么就使用堆上第一个有足够大小的自由块,现存的数据拷贝到新的位置,而... 阅读全文

posted @ 2014-01-09 13:55 阳台 阅读(318) 评论(0) 推荐(0) 编辑

回调函数
摘要:回调函数:顾名思意,就是使用者自己定义一个函数,使用者自己定义这个函数的功能,然后把 这个函数作为参数 传入到 其他函数 中,由 其他函数 在运行时来调用的函数。该“其他函数”就是回调函数(特点:它 主动调用 别的函数) 什么是回调函数呢?回调函数其实就是一个通过函数指针调用的函 数!假如你把A函数的指针当作参数传给B函数,然后在B函数中通过A函数传进来的这个指针调用A函数,那么这就是回调机制。B函数就是回调函数,而通常情 况下,A函数是系统在符合你设定条件的情况下会自动执行,比如Windows下的消息触发等等。那么调用者和被调用者的关系就被拉开了,就像是中断处理函 数那样。 简单的说... 阅读全文

posted @ 2013-12-26 14:50 阳台 阅读(358) 评论(0) 推荐(0) 编辑

c++中string::function集合
摘要:string append() 1.直接添加另一个完整的字符串: str1.append(str2); 2.添加另一个字符串的某一段字串: str1.append(str2, 11, 7); //添加str2中第11字符之后的7个字符 3.添加n个相同的字符; str1.append(n, '-'); //在str1中添加n个“-” 1 #include 2 using namespace std; 3 4 int main() 5 { 6 string str1 = "I like c++"; 7 string str2 = "the so ni 阅读全文

posted @ 2013-12-23 19:55 阳台 阅读(304) 评论(0) 推荐(0) 编辑

c/c++中与字符串处理相关的函数
摘要:void *memccpy (void *dest, const void *src, int c, size_t n);从src所指向的对象复制n个字符到dest所指向的对象中。如果复制过程中遇到了字符c则停止复制,返回指针指向dest中字符c的下一个位置;否则返回NULL。void *memcpy (void *dest, const void *src, size_t n);从src所指向的对象复制n个字符到dest所指向的对象中。返回指针为dest的值。void *memchr (const void *s, int c, size_t n);在s所指向的对象的前n个字符中搜索字符c。 阅读全文

posted @ 2013-12-23 16:37 阳台 阅读(535) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示