摘要: #include "stdio.h"struct DEMO{ int x,y; int (*func)(int,int); //函数指针};int add2(int x,int y){ return x+y;}void main(){ struct DEMO demo; demo.func=&add2; //结构体函数指针赋值 printf("func(3,4)=%d\n",demo.func(3,4));}完 阅读全文
posted @ 2011-07-11 18:14 wangkangluo1 阅读(289) 评论(0) 推荐(0) 编辑
摘要: C语言中define的用法(2009-08-17 19:21:11)转载标签: 杂谈 define是C语言中的预处理命令,它用于宏定义,可以提高源代码的可读性,为编程提供方便。预处理命令以“#”号开头,如包含命令#include,宏定义命令#define等。一般都放在源文件的前面,它们称为预处理部分。所谓预处理是指在进行编译之前所作的工作。预处理是C语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译。宏的定义 在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。被定义为“宏 阅读全文
posted @ 2011-07-11 17:25 wangkangluo1 阅读(4379) 评论(1) 推荐(0) 编辑
摘要: #define LOG(fmt,args...) log_message(__FILE__, __LINE__, __FUNCTION__,fmt ,## args);完 阅读全文
posted @ 2011-07-11 17:00 wangkangluo1 阅读(429) 评论(0) 推荐(0) 编辑
摘要: #include <stdio.h> #include <stdarg.h> ////处理可变参数列表,需要包含这个头文件int max(int num, int b, ...) ///num表示参数的个数{ va_list ap; int m,i,temp; va_start(ap,b); ////处理可变参数列表,初始化 m=b; for(i=1;i<num;i++) { temp=va_arg(ap,int); ////处理可变参数列表,每次取一个参数 if(m<temp)m=temp; } va_end(ap); ////处理可变参数列表,结束 re 阅读全文
posted @ 2011-07-11 16:56 wangkangluo1 阅读(302) 评论(0) 推荐(0) 编辑
摘要: log4c.c#include <stdio.h>#include "log4c.h"int main(int argc, char** argv){ int rc = 0; char *test = "test strings"; log4c_category_t* mycat = NULL; if (log4c_init()){ printf("log4c_init() failed"); rc = 1; }else{ mycat = log4c_category_get("log4c.examples.he 阅读全文
posted @ 2011-07-11 16:30 wangkangluo1 阅读(2126) 评论(0) 推荐(0) 编辑
摘要: 中级makefileTARGET=log4ctestOBJS=main.o other.o mylog.oINC=LIBPATH=%.o:%.cpp g++ -Wall -c -g -I$(INC) -I. $< -o $@ $(TARGET):$(OBJS) g++ $(OBJS) -llog4c -o $(TARGET).PHONY:clean clean: rm *.o $(TARGET) 完美 阅读全文
posted @ 2011-07-11 15:51 wangkangluo1 阅读(221) 评论(0) 推荐(0) 编辑
摘要: ajax json 模板<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; 阅读全文
posted @ 2011-07-11 13:54 wangkangluo1 阅读(558) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.linuxany.com/archives/791.html01、版权和版本02、缩进、空格、换行、空行、对齐03、程序注释04、函数的[in][out]参数05、对系统调用的返回进行判断06、if 语句对出错的处理07、头文件中的#ifndef08、在堆上分配内存09、变量的初始化10、h和c文件的使用11、出错信息的处理12、常用函数和循环语句中的被计算量13、函数名和变量名的命名14、函数的传值和传指针15、修改别人程序的修养16、把相同或近乎相同的代码形成函数和宏17、表达式中的括号18、函数参数中的const19、函数的参数个数20、函数的返回类型,不 阅读全文
posted @ 2011-07-11 13:16 wangkangluo1 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 原文地址:sprintf()的一些高级用法在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直 接在命令行上输出。这也导致sprintf 比printf 有用得多。sprintf 是个变参函数,定义如下:intsprintf(char*buffer,constchar*format[,argument]...);除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数:格式化字符串上。printf 和sprintf 都使用格式化字符串来指定 阅读全文
posted @ 2011-07-11 13:05 wangkangluo1 阅读(580) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.linuxany.com/archives/914.html//1.字符串大小写转换函数char * ConversionString(char* _pDest, const char * _pSrc, int _nFlag);//2.将字符串转换为整数int CharToInt(const char* _pStr);//3.将字符串转换成数字double CharToDouble(const char* str);//4.将整型数字转换为字符串,(正负数都可以)char * IntToChar(char* pDestStr, int nSrcNum);//5. 阅读全文
posted @ 2011-07-11 13:01 wangkangluo1 阅读(1121) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://apps.hi.baidu.com/share/detail/5908917gprof介绍gprof是GNU profiler工具。可以显示程序运行的“flat profile”,包括每个函数的调用次数,每个函数消耗的处理器时间。也可以显示“调用图”,包括函数的调用关系,每个函数调用花费了多少时间。还可以显示“注释的源代码”,是程序源代码的一个复本,标记有程序中每行代码的执行次数。基本用法:1. 使用-pg选项编译和链接你的应用程序。2. 执行你的应用程序,使之运行完成后生成供gprof分析的数据文件(默认是gmon.out)。3. 使用gprof程序分析你的应用程序生 阅读全文
posted @ 2011-07-11 11:08 wangkangluo1 阅读(708) 评论(0) 推荐(0) 编辑