随笔分类 - C++/C
关于C++/C的一些东东
摘要:关于WaitForSingleObject函数用法 : 用户模式的线程同步机制效率高,如果需要考虑线程同步问题,应该首先考虑用户模式的线程同步方法。 但是,用户模式的线程同步有限制,对于多个进程之间的线程同步,用户模式的线程同步方法无能为力。这时,只能考虑使用内核模式。 Windows提供了许多内核
阅读全文
摘要:这是道面试题目:有三个线程分别打印A、B、C,请用多线程编程实现,在屏幕上循环打印10次ABCABC… 见代码: 这里给个java版本的链接:http://mouselearnjava.iteye.com/blog/1949228?utm_source=tuicool&utm_medium=refe
阅读全文
摘要:C++本身并没有提供任何多线程机制,但是在windows下,我们可以调用SDK win32 api来编写多线程的程序,下面就此简单的讲一下: 创建线程的函数 在这里我们只用到了第三个和第四个参数,第三个参数传递了一个函数的地址,也是我们要指定的新的线程,第四个参数是传给新线程的参数指针。 eg1:
阅读全文
摘要:1.在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”? 答:首先,extern是C/C++语言中表明函数和全局变量作用范围的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。 通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键
阅读全文
摘要:今天参加了个笔试和面试,面试官给我指出了我试卷上的错误,我才发现,我的知识疏漏之处原来有不少,很是感谢。 记得曾经有本书,专门写c的陷阱来着,里面有很多都牵扯到指针。嘿嘿,这小家伙古灵精怪,总是喜欢误导别人。这里说两个我犯的错误。 1.指针退化。在c里,数组作为参数传给函数时,都会退化为指针,可以通
阅读全文
摘要:一、静态联编与动态联编 看段代码: 1 #include <iostream> 2 using namespace std; 3 4 const double PI=3.1415; 5 6 class point 7 { 8 private: 9 int x,y; 10 11 public: 12
阅读全文
摘要:再来回顾下继承派生的语法。 继承方式显示有三种(public, protected, privatez),隐式默认private。所谓继承方式,是指派生类对基类成员的访问权限控制。 派生类构造函数定义的一般格式如下: 派生类名(参数总表):基类名1(参数表1),...,基类名m(参数表m), 成员对
阅读全文
摘要:时间久了,这些东西都遗忘了。友元打破了c++的类封装和隐蔽,感觉有些偏门左道,用好了能够发挥奇效,用不好嘛,就是误入歧途。个人不太喜欢,不过还是总结一下,以备无虞。 友元函数:它就是个奇葩的普通函数,能够访问对应类的任何成员,却跟类成员函数没半点关系。个人较喜欢类内声明,类外定义,至于语法细节,看下
阅读全文
摘要:C: 借鉴C 文件操作库函数总结 eg: #include <fstream> #include <iostream> #include <cstdio> using namespace std; int main(){ freopen("D:\\input.in","r",stdin); freo
阅读全文
摘要:先来段代码: 1 #include 2 using namespace std; 3 4 class Clock{ 5 private: 6 int H,M,S; 7 public: 8 Clock(int h=0,int m=0,int s=0){ 9 H=h,...
阅读全文
摘要:先来个例子: 需要注意的地方: 1.若函数具有多个形参,则默认形参值必须自右向左连续地定义,并且在一个默认形参值的右边不能有未指定默认值的参数。这是由于c++语言在函数调用时参数是自右向左入栈这一约定决定的。 eg:int f(int a, float b=5.0, char c='c'); 2.在
阅读全文
摘要:http://acm.uestc.edu.cn/#/problem/show/915 方老师的分身 II 方老师的分身 II Time Limit: 10000/5000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit
阅读全文
摘要:想想还是把这个记录下吧,虽然不难,但由于平时写得不多,老是搞忘了。 1、我们来编写一个简单的DLL程序。 首先,我们来看下入口函数DllMain()。DllMain()有3个参数: (1)hModule:DLL模块的句柄。 (2)ul_reason_for_call:DllMain函数被调用的原因。
阅读全文
摘要:自上次发现自己对这几个C函数不熟悉,就打算抽空整理一下,也就现在吧。这几个函数都是跟堆内存打交道的,还有一个好玩的函数--alloca,它是跟栈内存打交道的,我想留在以后研究出好玩点的来,再专门为其写一篇铭文。1.malloc:头文件:原型:extern void *malloc(unsigne...
阅读全文
摘要:目录:1. fopen(打开文件)2. fprintf3. fscanf4. clearerr(清除文件流的错误旗标)5. fclose(关闭文件)6. fdopen(将文件描述词转为文件指针)7. feof(检查文件流是否读到了文件尾)8. fflush(更新缓冲区)9. fgetc(由文件中读取...
阅读全文
摘要:简单解释下hook: 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 钩子实际上是一个处理消息的
阅读全文
摘要:先分享一个案例: 1 #include 2 3 __declspec(naked) void Test() 4 { 5 int x; 6 x = 3; 7 __asm ret; 8 } 9 10 int main(int argc, char* argv[])11 {12...
阅读全文
摘要:一、C++编译模式通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。C+ +语言支持“分别编译”(separate compilation)。也就是说,一个
阅读全文
摘要:1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a...
阅读全文

浙公网安备 33010602011771号