
vc++
woshizfs
这个作者很懒,什么都没留下…
展开
-
多线程独占资源的处理
#include #include using namespace std;HANDLE hMutex;DWORD WINAPI fun(LPVOID ip){while (1){WaitForSingleObject(hMutex,INFINITE);coutSleep(1000);ReleaseMutex(hMutex);}}int main原创 2014-04-30 10:05:11 · 2313 阅读 · 0 评论 -
windows下(互斥量和事件对象)实现简单象消费者和生产者线程
#include #include #include using namespace std;#define Thread_COUNT 1 #define PRODUCERS_COUNT 1 HANDLE hEvent=NULL;HANDLE hMutex=NULL;HANDLE hThread[Thread_COUNT];unsigned m原创 2014-04-09 11:54:07 · 770 阅读 · 0 评论 -
应用程序和dll的区别
1、尽管dll和应用程序都是可执行的程序模块,但是对于最终用户来说,dll不是可直接执行的程序,从系统角度 来看他们有2个不同: (1)应用程序可以多个同时在系统上运行的实例,而DLL只有一个实例。 (2)应用程序可以拥有堆栈、共用内存、文件句柄,消息队列这样的事物,而dll没有。原创 2013-03-05 09:23:54 · 920 阅读 · 0 评论 -
如何使用DLL动态文件
DLL文件的使用有显式链接和隐式链接 (1) 显示链接:在项目程序中用代码显示加载dll文件 准备的材料:dll文件 具体步骤如下: 调用 LoadLibrary(或相似的函数)以加载 DLL 和获取模块句柄。调用 GetProcAddress,以获取指向应用程序要调用的每个导出函数的函数指针。 由于应用程序是通过指针调用原创 2013-03-05 12:38:57 · 915 阅读 · 0 评论 -
静态库和动态库
原创 2015-03-29 21:44:41 · 605 阅读 · 0 评论 -
预处理器调试的总结
预处理器1、预处理器变量可以避免才重复包含头文件的问题原创 2015-03-29 21:51:21 · 639 阅读 · 0 评论 -
windows下字符集与编码方案
原创 2015-05-30 20:33:06 · 603 阅读 · 0 评论 -
win32多线程的相关函数使用总结
/**************************请看代码实例*************************************************/#include #includeusing namespace std;DWORD WINAPI ThreadProc(LPVOID lpParameter){ cout int n=(int)lpPar原创 2014-01-04 23:35:34 · 1258 阅读 · 0 评论 -
DLL中调用约定和名称修饰(三)
DLL中调用约定和名称修饰(三)2、C++编译时函数(非类成员函数)名称修饰当函数使用__cdecl调用约定时,编译器进行以下工作: 1.以?标识函数名的开始,后跟函数名;2.函数名后面以@@YA标识开始,后跟返回值和参数表;3.当函数的返回值或者参数与C++类无关的时候,返回值和参数表以下列代号表示: B:constD:charE:unsign转载 2014-01-06 11:52:27 · 602 阅读 · 0 评论 -
win32串口编程
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答。 在Win32下,可以使转载 2013-05-02 15:04:00 · 781 阅读 · 0 评论 -
VC下Release版出错,Debug版的不出错原因
文章来源:http://topic.youkuaiyun.com/t/20030515/18/1789385.html. 内存分配问题1. 变量未初始化。下面的程序在debug中运行的很好。thing * search(thing * something)BOOL found;for(int i = 0; i {转载 2013-05-04 11:51:18 · 972 阅读 · 0 评论 -
基于VC++的USB2.0接口通信程序设计
基于VC++的USB2.0接口通信程序设计[字体:大中小] 引言 随着信息技术的迅速发展,数据采集和处理技术广泛应用于雷达、通信、遥测、遥感等领域。 而在早期的计算机系统上通常使用串口或并口来发送数据,每个接口都需要占用计算机内部很多的资源,传统的接口一般采用PCI总线或RS-232串行总线。转载 2013-05-04 10:39:52 · 2525 阅读 · 0 评论 -
【转】#pragma 预处理指令详解
beibei 发表于 2006-12-5 15:33:00在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其转载 2013-05-04 11:24:40 · 712 阅读 · 0 评论 -
DLL中调用约定和名称修饰(一)
DLL中调用约定和名称修饰(一)调用约定(Calling Convention)是指在程序设计语言中为了实现函数调用而建立的一种协议。这种协议规定了该语言的函数中的参数传送方式、参数是否可变和由谁来处理堆栈等问题。不同的语言定义了不同的调用约定。 在C++中,为了允许操作符重载和函数重载,C++编译器往往按照某种规则改写每一个入口点的符号名,以便允许同一个名字(具有不同的参数类型或者是转载 2014-01-06 11:50:44 · 590 阅读 · 0 评论 -
DLL中调用约定和名称修饰(二)
4、thiscallthiscall调用约定是C++中的非静态类成员函数的默认调用约定。thiscall只能被编译器使用,没有相应的关键字,因此不能被程序员指定。采用thiscall约定时,函数参数按照从右到左的顺序入栈,被调用的函数在返回前清理传送参数的栈,只是另外通过ECX寄存器传送一个额外的参数:this指针。 这次的例子中将定义一个类,并在类中定义一个成员函数,代码如下:转载 2014-01-06 11:51:30 · 565 阅读 · 0 评论 -
WinDbg的基本用法
在利用windeg调试时徐璈PDB文件原创 2015-05-30 20:33:30 · 992 阅读 · 0 评论