
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 · 1336 阅读 · 0 评论 -
判断单链表是否存在环,判断两个链表是否相交问题详解
有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。问题:1、如何判断一个链表是不是这类链表?2、如果链表为存在环,如何找到环的入口点?解答:一、判断链表是否存在环,办法为:设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fas转载 2013-09-10 22:08:14 · 969 阅读 · 0 评论 -
第三方类库C语言运行时链接研究
转自http://blog.youkuaiyun.com/wang37921/article/details/56603171. 无论这些第三方库是静态库还是动态库,或者同时有静态库和动态库(可以同时使用),必须保证在生成这些库时,使用的C Runtime库是同一个版本(/MT, /MTd, /MD,或者/MDd)【如果是VC的话,在项目属性->配置属性->C/C++->Code原创 2013-07-08 14:37:46 · 2286 阅读 · 0 评论 -
printf,wsprintf等格式控制符
http://msdn.microsoft.com/en-us/library/windows/desktop/ms647550(v=vs.85).aspxA format specification has the following form:%[-][#][0][width][.precision]typeEach field is a single charac转载 2012-09-13 17:36:15 · 965 阅读 · 0 评论 -
log4cplus
本文出自 “碧海笙箫” 博客,转载请务必保留此出处http://pyhcx.blog.51cto.com/713166/143549根据版本不同,稍有改动一.简介 log4cplus是C++编写的开源的日志系统,功能非常全面.本文介绍如何在Windows+VS2008中使用该日志库。 二.下载 可从网站[url]http://lo转载 2012-08-14 11:56:26 · 1411 阅读 · 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 · 951 阅读 · 0 评论 -
APC异步过程调用
转自http://blog.youkuaiyun.com/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 · 1534 阅读 · 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 · 929 阅读 · 0 评论 -
extern,define,typedef
一、externextern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。另外,extern也可用来进行链接指定。 现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是 互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。下面举一个简单的例子。创建一个工程,里面含有A.cpp和B.c转载 2012-06-07 10:50:58 · 3407 阅读 · 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 · 1356 阅读 · 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 · 535 阅读 · 0 评论 -
随笔
dll可以加载资源,lib不可以lib有两种,一种是构建dll的时候生成lib,此为动态lib,另外一种是静态lib(在工程里设置lib即可)DialogBox内部有消息循环,会阻塞,并且他的窗口回调函数返回true时实际上是告诉系统不要再处理默认消息了,返回false是让系统继续处理,如果需要改变返回值或者更多处理用setwindowlong在VS中,当源文件都为CP原创 2012-05-10 16:49:56 · 479 阅读 · 0 评论 -
深入理解C语言指针的奥秘(上)
转载自http://topic.youkuaiyun.com/u/20070112/09/35186e5a-0d94-4ea6-9b72-c5463cb3d1f3.html指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。转载 2012-01-06 10:49:44 · 610 阅读 · 0 评论 -
C 结构体中的函数指针与函数
转载自 grdd1. 函数指针 一般的函数指针可以这么定义:int(*func)(int,int); 表示一个指向含有两个int参数并且返回值是int形式的任何一个函数指针. 假如存在这样的一个函数:int add2(int x,int y){ return x+y;}那么在实际使用指针func时可以这样实现:func=&add2; /转载 2012-01-06 10:13:09 · 728 阅读 · 0 评论 -
认真学习windows编程
第一次发文章,试试而已原创 2012-01-04 16:27:18 · 756 阅读 · 0 评论 -
C语言运算符优先级 详细列表
优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函数名(形参表) .转载 2013-09-22 16:44:00 · 804 阅读 · 0 评论