
C/C++
文章平均质量分 85
sghdls
这个作者很懒,什么都没留下…
展开
-
【转载】fatal error C1853解决方法
当 Visual C++ 项目启用了预编译头 (Precompiled header) 功能时,如果项目中同时混合有 .c 和.cpp 源文件,则可能收到 C1853 编译器错误:fatal error C1853: 'pjtname.pch'precompiled header file is from a previous version of the compiler,or the pr转载 2014-03-04 17:06:19 · 806 阅读 · 0 评论 -
BCD码
压缩BCD码用4位2进制表示,1字节表示2位BCD码如10010011B表示十进制数93非压缩BCD码用1字节表示BCD码是一一对应的,如:十进制的123 用BCD表示为:0001 0010 0011因为:十进制的 1 用二进制表示是 0001十进制的 2 用二进制表示是 0010十进制的 3 用二进制表示是 0011与二进制的区别:123的二进制应该用短除法求得1111011由此转载 2017-07-26 17:39:35 · 1155 阅读 · 0 评论 -
用C语言程序判断一个字符是否是字母或数字
怎样判断一个字符是否是一个字母?字母表中的所有字母(包括计算机键盘上的所有键)都被赋予了一个值,这些字符及其相应的值一起组成了ASCII字符集,该字符集在北美、欧洲和许多讲英语的国家中得到了广泛的使用。字母字符被分成大写和小写两组,并按数字顺序排列。有了这种安排,就能很方便地检查一个字符是否是一个字母以及是大写还是小写。下面这段代码说明了如何检查一个字符是否是一个字母:[cpp转载 2017-07-26 17:35:08 · 25107 阅读 · 0 评论 -
c++ 调用DLL函数,出现错误
c++ 调用DLL函数,出现错误Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a原创 2017-06-24 19:01:42 · 773 阅读 · 0 评论 -
c++中的几种函数调用约定
C++中的函数调用约定主要针对三个问题:1、参数传递的方式(是否采用寄存器传递参数、采用哪个寄存器传递参数、参数压桟的顺序等);2、函数调用结束后的栈指针由谁恢复(被调用的函数恢复还是调用者恢复);3、函数编译后的名称;对实例代码有几点说明(使用的平台为vs2012+intel x86架构)1、栈顶指针即为esp;2、int型占32字节内存;3、桟顶为小地址端,栈底为大转载 2017-06-24 18:59:49 · 3589 阅读 · 0 评论 -
htonl()函数学习
今天在网上看到一篇关于htonl()函数的解释,感觉有道理,贴过来大家一起学习!htonl就是把本机字节顺序转化为网络字节顺序h---host 本地主机to 就是to 了n ---net 网络的意思l 是 unsigned long所谓网络字节顺序(大尾顺序)就是指一个数在内存中存储的时候“高对低,低对高”(即一个数的高位字节存放于低地址单元,低位字节存放在高地址单转载 2017-06-07 22:34:18 · 480 阅读 · 0 评论 -
VC托盘程序的简单实现
以下是网上看到的一个实现VC托盘的程序,好像只适用于对话框程序。经本人简单整理。一、托盘简介 所谓的“托盘”,在Windows系统界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分。在程序最小化或挂起,但又不希望占据任务栏的时候,就可以把程序放到托盘区。其实,托盘区的编程很简单,下面简要阐述一下子喽^_^二、托盘编程相关函数 其实呢,把程转载 2017-06-02 16:53:42 · 2628 阅读 · 0 评论 -
二进制位运算(与、或、异或、取反)
1.与运算(AND):0 AND 0 = 0 (全为1才得1) 1 AND 0 =0 0 AND 1 =0 1 AND 1 =1 用途:用来位置0,若想把FFH(11111111B,255D)第三、五(从右往左)位置0,只需AND 11101011B(235D,E8H). 2.或转载 2017-05-14 18:18:11 · 5966 阅读 · 0 评论 -
printf()格式化输出详解
% - 0 m.n l或h 格式字符 下面对组成格式说明的各项加以说明: ①%:表示格式说明的起始符号,不可缺少。 ②-:有-表示左对齐输出,如省略表示右对齐输出。 ③0:有0表示指定空位填0,如省略表示指定空位不填。 ④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。对数值型的来说,未指定n时,隐含的精度为n=6位转载 2017-05-14 18:17:19 · 498 阅读 · 0 评论 -
VC下2、4、8、16、24、32位位图的数据解析与显示
在VC中,位图显示一般有现成的方式,如使用picture控件、GetDC()->StretchBlt、::BitBlt等,但这些方式都是高层的封装,让你不清楚一副位图是如何解析并显示到DC上的。实际应用中,比如图像处理,视频显示等,需要操作到位图中的像素,这需要弄明白位图文件如何组成,网上有太多的位图文件格式说明,下面借助实例和SetPixel函数完成解析与显示。读入一幅位图,结合位图文档说明转载 2017-05-14 18:15:49 · 581 阅读 · 0 评论 -
int lineByte=(bmpWidth*biBitCount/8+3)/4*4这个公式怎么理解
这是计算位图每行占多少个字节;灰度图像(biBitCount=8)彩色图像(biBitCount=24)bmpWidth是位图的宽度,也就是每行有多少个像素块在计算机中如果你是整形 (n)除以(n+i)都是等于0的,(n和i都是自然数)存储图像数据每行字节数为4的倍数所以+3是怕出现不满足4的倍数这种情况如果是4的倍数则结果和不+3的结果是一样的如果不是4的倍数则结果进1位转载 2017-05-14 18:15:07 · 1259 阅读 · 0 评论 -
敏捷开发与传统开发的区别
敏捷方法与传统方法的区别与联系 首先,说一下传统开发的方式流程,传统开发也就是本文最开始所说的来自于工程学的软件开发方式,是一种瀑布式的流程,在工程的起始阶段,进行详尽的需求调研,根据需求进行完全的架构设计,之后进入开发过程,在开发过程中,不再进行设计层面的事情,不再处理需求变化的问题,在这个阶段的任务就是对前期设计的功能实现,然后是测试,部署等等。 其次,说一下敏捷开发的方式流程转载 2017-03-21 14:37:58 · 9528 阅读 · 0 评论 -
VC对话框如何添加WM-ERASEBKGND消息-OnEraseBkgnd函数
VC对话框如何添加WM_ERASEBKGND消息(OnEraseBkgnd函数)1、首先,为了下面使用擦除背景的方便,先增加OnEraseBkgnd函数(WM_ERASEBKGND),但好多新手都不知道对话框在那里找增加这个函数,来跟我来快捷键Ctrl+W打开ClassWizard对话框(菜单->view->ClassWizard):选择ClassInfo,找到左下角的Messagefil转载 2017-03-18 23:14:48 · 709 阅读 · 0 评论 -
【转载】extern "C"的用法解析
1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处转载 2014-03-05 09:45:57 · 511 阅读 · 0 评论 -
VC 6.0中编译和使用OpenSSL的过程
一、编译OpenSSL 在编译OpenSSL前,需要正确安装Perl,因为在编译OpenSSL时需要使用到该程序。 下载最新版本的Perl:http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.822-MSWin32-x86-280952.zip。然后安装之。 下载最新版本的Ope...转载 2018-06-10 19:15:26 · 2226 阅读 · 0 评论