C
文章平均质量分 53
just学习
for Learning
展开
-
关于函数指针的理解(指向的函数返回值又是另外一个函数指针)
比如参数为int 返回int 的函数指针A,写法为typedef typedef int(*A)(int), 如果是要定义一个函数指针B,指向一个参数为int而返回值是函数指针A的话, 比较容易读懂的写法是 typedef A (*B)(int) 如果要把A再展开,typedef int(*A)(int) (*B)(int)这样肯定是错的,因为这里面已经出现了两个变量原创 2013-09-18 15:56:17 · 1302 阅读 · 0 评论 -
判断单链表是否存在环,判断两个链表是否相交问题详解
有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。 问题: 1、如何判断一个链表是不是这类链表? 2、如果链表为存在环,如何找到环的入口点? 解答: 一、判断链表是否存在环,办法为: 设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fas转载 2013-09-10 22:08:14 · 933 阅读 · 0 评论 -
第三方类库C语言运行时链接研究
转自http://blog.csdn.net/wang37921/article/details/5660317 1. 无论这些第三方库是静态库还是动态库,或者同时有静态库和动态库(可以同时使用),必须保证在生成这些库时,使用的C Runtime库是同一个版本(/MT, /MTd, /MD,或者/MDd)【如果是VC的话,在项目属性->配置属性->C/C++->Code原创 2013-07-08 14:37:46 · 2265 阅读 · 0 评论 -
printf,wsprintf等格式控制符
http://msdn.microsoft.com/en-us/library/windows/desktop/ms647550(v=vs.85).aspx A format specification has the following form: %[-][#][0][width][.precision]type Each field is a single charac转载 2012-09-13 17:36:15 · 937 阅读 · 0 评论 -
log4cplus
本文出自 “碧海笙箫” 博客,转载请务必保留此出处http://pyhcx.blog.51cto.com/713166/143549 根据版本不同,稍有改动 一.简介 log4cplus是C++编写的开源的日志系统,功能非常全面.本文介绍如何在Windows+VS2008中使用该日志库。 二.下载 可从网站[url]http://lo转载 2012-08-14 11:56:26 · 1373 阅读 · 0 评论 -
函数调用约定,_cdecl,_stdcall
今天又复习了下函数调用约定以及函数名字的修饰约定,这让我们在使用别人的lib和dll中出现的链接错误(无法识别的符号)能更准确的分析。 比如: 在C++调用一个C语言编写的.lib时,当显示调用dll或声明接口函数时,应加extern "C" { } 刚才试了下,如果不用extern “c”的话,用C++方式编译出来的Lib和dll的导出函数都是?add@@YAHHH@Z这种样子的,所以Ge转载 2012-08-17 14:45:21 · 923 阅读 · 0 评论 -
APC异步过程调用
转自http://blog.csdn.net/hurtmanzc/article/details/1687000 这是MSDN官网详细的介绍:http://msdn.microsoft.com/en-us/library/windows/desktop/ms681951(v=vs.85).aspx APC : asynchronous procdure call 异步过程调用转载 2012-08-16 15:55:08 · 1504 阅读 · 0 评论 -
C runtime library
转自http://hi.baidu.com/b5000/blog/item/b4f9138291e123a10df4d243.html 运行时库是程序在运行时所需要的库文件,通常运行时库是以LIB或DLL形式提供的。C运行时库诞生于20世纪70年代,当时的程序世界还很单纯,应用程序都是单线程的,多任务或多线程机制在此时还属于新观念。所以这个时期的C运行时库都是单线程的。 随转载 2012-08-14 17:01:10 · 893 阅读 · 0 评论 -
extern,define,typedef
一、extern extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。另外,extern也可用来进行链接指定。 现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是 互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。下面举一个简单的例子。创建一个工程,里面含有A.cpp和B.c转载 2012-06-07 10:50:58 · 3349 阅读 · 0 评论 -
忽略库
最近一直遇到这个问题,到现在还没有完全弄懂,MSDN上说 If you link your program from the command line without a compiler option that specifies a C run-time library, the linker will use LIBCMT.LIB. This is different from p转载 2012-05-31 16:55:43 · 1317 阅读 · 0 评论 -
细节啊
itoa,aoti今天把我整郁闷了,因为用到字符数组和整数(10进制,16进制)之间的转换,程序一直有错,检查了半天才发现itoa有BUG啊。。 itoa(int,char ,16)的时候,比如0a4db80e转换的时候变成a4db80e,解决办法是 wsprintf(char,"%08x",int ); 现在发现整数,byte与char数组之间转换的时候需要特别注意,itoa不是那么好用,所原创 2012-05-30 15:39:47 · 502 阅读 · 0 评论 -
随笔
dll可以加载资源,lib不可以 lib有两种,一种是构建dll的时候生成lib,此为动态lib,另外一种是静态lib(在工程里设置lib即可) DialogBox内部有消息循环,会阻塞,并且他的窗口回调函数返回true时实际上是告诉系统不要再处理默认消息了,返回false是让系统继续处理,如果需要改变返回值或者更多处理用setwindowlong 在VS中,当源文件都为CP原创 2012-05-10 16:49:56 · 460 阅读 · 0 评论 -
深入理解C语言指针的奥秘(上)
转载自http://topic.csdn.net/u/20070112/09/35186e5a-0d94-4ea6-9b72-c5463cb3d1f3.html 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。转载 2012-01-06 10:49:44 · 573 阅读 · 0 评论 -
C 结构体中的函数指针与函数
转载自 grdd 1. 函数指针 一般的函数指针可以这么定义: int(*func)(int,int); 表示一个指向含有两个int参数并且返回值是int形式的任何一个函数指针. 假如存在这样的一个函数: int add2(int x,int y) { return x+y; } 那么在实际使用指针func时可以这样实现: func=&add2; /转载 2012-01-06 10:13:09 · 663 阅读 · 0 评论 -
认真学习windows编程
第一次发文章,试试而已原创 2012-01-04 16:27:18 · 733 阅读 · 0 评论 -
C语言运算符优先级 详细列表
优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 () 圆括号 (表达式)/函数名(形参表) .转载 2013-09-22 16:44:00 · 767 阅读 · 0 评论