VC++基础
oneboyishappy
这个作者很懒,什么都没留下…
展开
-
VS2019安装后经常打不开没反应解决方法
找到VS2019快捷方式 右键单击--选择属性 选择兼容性,勾选以管理员身份运行程序 点击确定,再次打开VS2019即可成功打开。原创 2020-12-23 11:40:20 · 4303 阅读 · 1 评论 -
windows编译动态库和静态库注意事项
1. 如果要编译静态库,则一定要有源码,因为不同VS版本编译器编出来的library不能混用,以后在不同编译器使用该静态库时会出问题。如果没有源码,则尽量编译成动态库,动态库可以在不同编译器中使用。2. 使用动态库的话,若没有源码,则必须提供 x86(32位系统)和x64(64位系统)版本动态库,方便在不同平板上使用。...原创 2020-12-08 22:50:41 · 356 阅读 · 0 评论 -
为什么windows中包含<thread.h>头文件造成 socket recvfrom 10022错误
thread也有bind函数,和socket的重名了,改为::bind问题解决原创 2020-07-29 15:25:50 · 632 阅读 · 0 评论 -
int64_t 防止32位数据溢出
例:计算时间戳struct timeval t_start;gettimeofday(&t_start, NULL);int64_t ts_now = t_start.tv_sec * 1000 + t_start.tv_usec / 1000;此外会发出32位数据溢出,因为t_start.tv_sec是long型,在32位设备上为4个字节,t_start.tv_sec为1...原创 2020-04-18 17:28:42 · 845 阅读 · 0 评论 -
memset整形数组,注意第三个参数
int len=8;int *p=new int[len];memset(p,0,sizeof(p)*4);若没有*4,则只有int[0]和int[1]被赋值0,因为整形数组有4个字节。原创 2012-09-02 14:57:14 · 1455 阅读 · 2 评论 -
结构体用->出错
typedef struct DATA{ char numeric[100]; int top; }Data; Data data; data->top=-1;编译出错:Compiling...crypt.cppE:\workspace\crypt\crypt.cpp(67) : error C2819: type 'calculate:原创 2012-09-02 15:37:04 · 1354 阅读 · 0 评论 -
typedef struct和struct
1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。 至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐述。 2.转载 2012-09-02 15:18:42 · 725 阅读 · 0 评论 -
word精髓
word骨灰级水平,赶紧留一份来源:武大之星的日志1.问:WORD 里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同?答:分节,每节可以设置不同的页眉。文件――页面设置――版式――页眉和页脚――首页不同。2.问:请问word 中怎样让每一章用不同的页眉?怎么我现在只能用一个页眉,一改就全部改了?答:在插入分隔符里,选插入分节符,可以选连续的那个,然后下一页改页眉前,按一下转载 2012-05-18 21:42:57 · 1130 阅读 · 0 评论 -
将字符串转换为16进制保存
直接用实例可能更易懂:unsigned char config[100]={0};char lineStart[100]={000001B0CF D5 D48D6541};int j=0;for (int i=0;lineStart[i] != '\0';i++){ while(lineStart[i] != '\0') {原创 2012-06-06 15:38:18 · 1181 阅读 · 0 评论 -
unsigned char和char
本质上两种类型都占一个字节。作为字符使用时,都是存储字符的ASCII码。比如:unsigned char uc='a';char c='a';printf("%d %d",uc,c);结果为: a a作为整数使用时,两种类型的取值范围就不同了。unsigned char 可取0至255,而char可取-128至+127。比如:unsigned char uc=255;char转载 2012-05-15 11:06:05 · 3259 阅读 · 0 评论 -
cannot convert from 'unsigned char [3000]' to 'char *'
#include int main(void) { int nRead=0; FILE *fp_in = NULL; FILE *fp_out = NULL; char *ptr=NULL; unsigned char DataBuffer[3000] = {0}; ptr=DataBuffer; fp_in=fopen("video-H原创 2012-05-15 11:07:47 · 5300 阅读 · 0 评论 -
WaitForMultipleObjects 降低cpu
下面代码通过WaitForMultipleObjects防止线程空跑,而降低了CPUint push_packet(AVPacket* packet){AVPacket* t_packet = (AVPacket*)av_malloc(sizeof(AVPacket));;av_init_packet(t_packet);int nRet = av_copy_packet(原创 2016-06-15 10:52:50 · 648 阅读 · 0 评论 -
回调函数范例
以错误码回调为例,进行讲解://-----------------------底层.h文件typedef int (*CallFuct)(LONG);class CTestHelp{ setCallFuct(const CallFuct& callFuct);private: CallFuct m_callFuct;原创 2016-08-16 14:38:14 · 459 阅读 · 0 评论 -
值得推荐的C/C++框架和库 (真的很强大)
值得学习的C语言开源项目- 1. WebbenchWebbench是一个在Linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.c转载 2017-02-24 10:17:36 · 498 阅读 · 0 评论 -
_manifest.rc(1): error RC2135: file not found: .embed.manifest
解决:VS工程属性porperty->configuration properties->manifest tool->embed manifest 改 YesTo NO原创 2016-03-07 10:24:40 · 2261 阅读 · 0 评论 -
函数指针参数的传递问题
http://www.newsmth.net/pc/pccon.php?id=10002501&nid=337392 程序1: void myMalloc(char *s) //我想在函数中分配内存,再返回 { s=(char *) malloc(100); } void main() { char *p=转载 2011-10-27 11:18:35 · 4906 阅读 · 0 评论 -
函数参数传递指针
函数参数传递指针,一般使用双重指针**p,例如: TcpReceive(SOCKET(lParam),fp,&ptr,&size,rtpbuff); int TcpReceive(SOCKET rtp_sockq,FILE *fp,unsigned char **dataptr,unsigned short *psize,unsigned char *rtpbuff)原创 2011-10-27 10:39:13 · 691 阅读 · 0 评论 -
Directsound应用程序开发快速入门
Directsound应用程序开发快速入门摘要:DirectSound编程的入门介绍,通过实例讲解了如何利用DirectSound最基本的功能-----播放音频,并提供了DirectSound播放音频文件的两种方式(Static buffer 和Streaming buffer ), 关键词: Directsound stream buffer ,static buffer wa转载 2011-12-09 10:30:02 · 2407 阅读 · 0 评论 -
VS2013无法创建项目
VS2013 创建C++项目时提示创建失败,查了网上很多办法都没什么用,重装也不行,后来看了个帖子方法很简单,抱着试试的态度搞了下,真的解决问题,方法如下:以管理员运行cmdC:\windows\system32>regsvr32 jscript.dll普通用户运行会提示错误原创 2017-12-22 17:40:54 · 3401 阅读 · 0 评论 -
Presentation.Save 正在转换中。PowerPoint目前无法修改
原因:一般在CPresentation.Save()时会出现这种错误,主要是由于打开PPT时,Open(LPCTSTR FileName, long ReadOnly, long Untitled, long WithWindow)FileName文件路径为"/",改成双反斜杠“\\”就能解决次错误。 ...原创 2018-08-31 17:13:42 · 2043 阅读 · 0 评论 -
结构体字节对齐问题[转]
#include struct a { char no[10]; int p; long int pp; unsigned int ppp; char x; float y; double h; }xy; void main() { printf("struct a: %d \n",sizeof(struct a)); // 不是等于 35 吗?转载 2012-04-22 14:52:17 · 443 阅读 · 0 评论 -
数据类型
32位编译器: char :1个字节 char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器) short int : 2个字节 int: 4个字节 unsigned int : 4个字节 float: 4个字节 double: 8原创 2012-04-21 10:59:52 · 809 阅读 · 0 评论 -
快捷键技巧
ctrl+shift+F9 可以清除所有标注的断点原创 2011-10-08 11:32:29 · 353 阅读 · 0 评论 -
检测内存泄露
转自:http://topic.csdn.net/t/20040331/20/2910342.html使用Microsoft Visual C++来检测和隔离内存泄漏 简介 具有动态的分配和释放内存的能力是C/C++程序语言的重要特色之一,但是转载 2011-10-14 14:08:13 · 561 阅读 · 0 评论 -
VC中fread,fwrite,fseek,ftell的使用
觉得这个不错,就转载了一下,方便日后用到。。。。http://blog.sina.com.cn/s/blog_4bf5b1a30100r8of.html 函 数:fread、fwritefread(buffer,size,count,fp); 用来读入一个数据转载 2011-09-27 10:22:32 · 8685 阅读 · 0 评论 -
用VC实现声音(wav)播放的小程序
把音频文件放在工程当前目录下,下面代码便可实现音频播放。#include "stdafx.h"#include #include #include #pragma comment(lib,"winmm.lib")int main(int argc原创 2011-09-26 19:36:12 · 654 阅读 · 0 评论 -
常用函数对应的头文件
平日里写程序时,遇到一些常用函数,可总记不得去相应的头文件,很是麻烦,遂决定慢慢积累; 1. getch() #include 2.CString原创 2011-09-27 10:08:37 · 961 阅读 · 0 评论 -
初步认识 critical section
critical section Critical Section: 不论是硬件临界资源,还是软件临界资源,多个线程必须互斥地对它进行访问。每个线程中访问临界资源的那段代码称为临界区(Critical Section)。 每个线程中访问临界资源的那段程序转载 2011-09-23 12:05:14 · 441 阅读 · 0 评论 -
作为软件工程师应该具备哪些基本素质
1:团队精神和协作能力 把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本。把高水平程序员说成独行侠的都是在呓语,任何个人的力量都是有限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为li转载 2011-10-06 19:20:50 · 1231 阅读 · 0 评论 -
sscanf用法
定义函数 int sscanf (const char *str,const char * format,........);函数说明 sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。返回值 成功则返回参数数目,失败则返回-1,错误原因存于errno中。范例1转载 2011-09-09 16:27:17 · 546 阅读 · 0 评论 -
priority_queue::push();pop(),empty,back(),front();size()
下面的代码示例阐释了如何使用 Visual c + + 中的 priority_queue::push、 priority_queue::pop、 priority_queue::empty、 priority_queue::top,和 priority_queue::size STL 函数。priority_queue 适配器包含支持该 priority_queue 的容器的类型定义类型的对转载 2011-09-28 15:02:35 · 3048 阅读 · 0 评论 -
系统错误 无法启动此程序,因为计算机中丢失MFC42D.DLL。尝试重新安装该程序以解决此问题
我用MFC做了个简单的exe程序,放到没有安装vc的电脑中运行,就报此错误,好来才知道,我在编译的时候没有使用静态库,而是共享库,所以会报错。在vc++设置里:常规---》使用MFC作为静态链接库,再编译下就OK了。。。。原创 2012-04-18 17:19:59 · 16235 阅读 · 5 评论 -
win7有杂音----彻底解决
刚装了win7,发现音乐有杂音,上网搜了很多资料,无非是一些让你重装声卡驱动之类的,我就试了试,发现怎么新装都不管事,晕了。。。后来有篇帖子建议装上SRS,说是可以加强音效,我就抱着侥幸的心里装了,结果发现,杂音果然消失了,而且音质立体感变得更好了,爽。。。。可是网上的版本都是适用版的,只能支持15天,我晕,这哪行哪,得找办法激活,于是上网搜了搜,终于找到了一个破解版的,带有注册机的,里面有文档,原创 2012-04-18 14:54:21 · 2035 阅读 · 0 评论 -
using namespace std
如同名字一样的意思,NameSpace:名字空间,之所以出来这样一个东西,是因为人类可用的单词数太少,并且不同的人写的程序不可能所有的变量都没有重名现象,对于库来说,这个问题尤其严重,如果两个人写的库文件中出现同名的变量或函数(不可避免),使用起来就有问题了,为了解决这个问题,引入了名字空间这个概念,通过使用using namespace xxx;你所使用的库函数或变量就是在该名字空间中定义的.这原创 2012-04-10 10:25:44 · 469 阅读 · 0 评论 -
VC调试方法大全
VC调试方法大全 一、调试基础调试快捷键F5: 开始调试Shift+F5: 停止调试F10: 调试到下一句,这里是单步跟踪 F11: 调试到下一句,跟进函数内部Shift+F11: 从当前函数中跳出Ctrl+F10: 调试到光标所在位置F9: 设置(取消)断点Alt+F9: 高级断点设置跟踪调试1、 尽量使用快捷转载 2012-03-23 10:12:50 · 725 阅读 · 0 评论 -
用C写一个简单病毒
[摘要]在分析病毒机理的基础上,用C语言写了一个小病毒作为实例,用TURBOC2.0实现. [Abstract] This paper introduce the charateristic of the computer virus,then show a simple example written by TURBOC2.0.一、什么是病毒 恶意软件可能是第一个对我们转载 2012-04-07 09:47:13 · 12348 阅读 · 3 评论 -
DOS命令学习
1.显示当前路径下文件夹和文件 dir /a/b原创 2012-04-07 10:35:11 · 705 阅读 · 0 评论 -
error C2276: '&' : illegal operation on bound member function expression
编译代码时,出现 error C2276: '&' : illegal operation on bound member function expression,后来上网查了下,才知道是相应的头文件中函数声明,没加static,声明为静态函数后则ok了。。。。原创 2011-09-26 09:52:34 · 4456 阅读 · 1 评论 -
MFC学习
1. GetDlgCtrlID()CKKZ::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ if(pWnd->GetDlgCtrlID()==IDC_STATIC_Notice)pDC->SetTextColor(RGB(255,0,0));} 你获得了某个控件的指针,如CWnd*p;然后就可以用p->GetDlg原创 2011-10-31 15:15:17 · 777 阅读 · 0 评论 -
深入理解critical_section
转自:http://www.cnblogs.com/dirichlet/archive/2011/03/16/1986251.html 摘要临界区是一种防止多个线程同时执行一个特定代码节的机制,这一主题并没有引起太多关注,因而人们未能对其深刻理解。在需要跟踪代码中转载 2011-09-23 12:02:34 · 1363 阅读 · 0 评论