FROM:http://blog.csdn.net/sunboy_2050/article/details/6103530 实现代码实例 程序代码: #include <stdio.h> #include <stdlib.h> #include <sys/types.h> /***** cplusplus *****/ #if 0 #include <iostream> using namespace std; #endif // 得到指定地址上的一个字节或…
1AFX前缀 Afx前缀是微软MFC一个小组的名称简写,并没有别的意义. MFC的很多代码,包括全局函数名.宏.头文件名都使用了"Afx". Afx*.h是一组MFC的核心头文件, 比如: afxwin.h 定义MFC的核心和标准组件 afxext.h 定义MFC的扩展 afxdisp.h 是MFC自动化支持的类定义头文件 afxdb.h 是MFC的ODBC类封装 2AFX_msg函数原型 在头文件(DrawView.h)中声明消息响应函数原型. //{{AFX_MSG(CDrawVi…
以前一直不知道AFX_MSG是什么意思,只是觉得它应该是个消息映射函数,但是具体代表什么意思,会返回一个什么样的值是一点都不清楚,今天查了下资料,把查到的东西放这,以免以后忘了还得再查. 在头文件(DrawView.h)中声明消息响应函数原型. //{{AFX_MSG(CDrawView) //注释宏 afx_msg void OnLButtonDown(UINT nFlags, CPoint point); //}}AFX_MSG //注释宏 说明: 在注释宏之间的声明在VC中灰色显示.afx…
前言一直利用Qt库做Ui设计,但针对于一些MFC项目,掌握一些必要的MFC开发技巧还是很有必要的.这篇博客里就将自己所学的一些MFC浅显知识记录一下,方便今后的学习.博客里只记录关键步骤. 一.新建MFC项目选择:基于对话框MFC的使用: 在共享DLL中使用MFC (程序运行需要dll) 在静态库中使用MFC (程序较大,运行时不需要dll) 设置MFC程序主框架样式和标题 高级功能 若是用不上“ActiveX控件”可以去掉勾选,若要涉及到网络编程就把“windows嵌套字”选上 完成 二.MF…
http://zhidao.baidu.com/question/318026804.html 在MFC程序中,我们并不经常直接调用Windows API,而是从MFC类创建对象并调用属于这些对象的成员函数.也就是说MFC封装了Windows API 你说你喜欢C++而MFC换一种说法就是一个用C++写的一个函数库 然后你来调用 只不过这个类不是你写的 MFC提供数百个类,最重要的.也是编写任何VC++应用程序都必不可少的两个类CWinApp和CFrameWnd,这两个类是编写复杂庞大应用程序的…
在MFC程序中,我们并不经常直接调用Windows API,而是从MFC类创建对象并调用属于这些对象的成员函数.也就是说MFC封装了Windows API 你说你喜欢C++而MFC换一种说法就是一个用C++写的一个函数库 然后你来调用 只不过这个类不是你写的           MFC提供数百个类,最重要的.也是编写任何VC++应用程序都必不可少的两个类CWinApp和CFrameWnd,这两个类是编写复杂庞大应用程序的基石.1>封装特性:构成MFC框架的是MFC类库而MFC类库又是C++的一个…
需要源码联系邮件:kangxlchn@163.com 1.新建一个MFC工程(基于对话框) 环境:vs2017 统统NEXT 新建完成后打开MFCPrj.cpp文件 打开类试图 每创建一个MFC项目,默认包含3个类,“关于”对话框.主对话框类.初始化项目的App类 双击.rc文件可以打开资源视图 然后双击IDD_MFCPRJ_DIALOG就可以打开可视化编辑的窗口 如果打不开,看这里 打开工具箱就可以往里拖各种控件了... -------------截至这里,基本所有的窗口都打开了,现在开始讲一…
一.MFC应用程序类型 上篇文章的彩蛋:可通过使用MFC应用程序向导(MFC AppWizard)的功能来创建所需要的应用程序,这意味着不需要输入任何代码.MFC除了应用程序向导,还对应用程序项目有着独特的管理方式. 1. MFC AppWizard 作用:能为用户生成一些常用的标准程序结构和编程风格,它们被称为应用程序框架结构. 提供的应用程序框架类型:包括MFC AppWizard(dll).MFC AppWizard(exe).Win32 Application等,这些类型基本上能满足各个…
原文:http://yyguangzheng.blog.163.com/blog/static/603488402014102215153610/ 说明:这篇日志我不知道怎么命名好,虽然内容很少,但是讲的关键字很多,如果你有幸打开这篇日志,不妨往下看看 背景:我们使用 VC++6.0 开发MFC应用程序,初学者一定会为那么多行的注释代码感到头痛,下面就说说这些有益无意义的注释 //{{AFX_MSG.//{{AFX_VIRTUAL.//{{AFX_MSG_MAP.//{{AFX_DATA_INI…
说明:这篇日志我不知道怎么命名好,虽然内容很少,但是讲的关键字很多,如果你有幸打开这篇日志,不妨往下看看 背景:我们使用 VC++6.0 开发MFC应用程序,初学者一定会为那么多行的注释代码感到头痛,下面就说说这些有益无意义的注释 //{{AFX_MSG.//{{AFX_VIRTUAL.//{{AFX_MSG_MAP.//{{AFX_DATA_INIT 我们看到很多这样打头的代码,其中典型的一个,在你应用程序的 CApp 头文件中// Implementation //{{AFX_MSG(CHe…
原文: BEGIN_MESSAGE_MAP(CMy1Dlg, CDialog) //{{AFX_MSG_MAP(CMy1Dlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON1, OnButton1) //}}AFX_MSG_MAPEND_MESSAGE_MAP() AFX_MSG_MAP ,这个宏是MFC用来构造消息映射表时用到的辅助宏,它埋在类识别宏或动态识别宏中 BEGIN_M…
转载http://blog.chinaunix.net/uid-7390305-id-2057287.html 看一下/usr/include/asm/linkage.h里面的定义:#define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0))) 其中 __attribute__是关键字,是gcc的C语言扩展. __attribute__机制是GNU C的一大特色,它可以设置函数属性.变量属性和类型属性等.可以通过它们向编译器提供更多数据…
转载自:http://blog.chinaunix.net/uid-20729583-id-1884553.html 这 些宏包括 __init.__initdata.__initfunc().asmlinkage.ENTRY().FASTCALL()等等.它们的定义主要位于 Include/linux/linkage.h和 include/asm-i386/Init.h以及其他一些.h文件中. 1) __init位置:include/asm-i386/Init.h 定义:#define __i…
(转载)http://blog.csdn.net/chdhust/article/details/8036233 内联函数inline和宏定义   内联函数的优越性: 一:inline定义的类的内联函数,函数的代码被放入符号表中,在使用时直接进行替换(像宏定义一样展开),没有了调用的开销,效率很高. 二:类的内敛函数是一个真正的函数. 三:使用内联函数inline可以完全取代表达式形式的宏定义. 例子: Class A { public: int readTest() { return nTes…
转载:https://mp.weixin.qq.com/s/xsL9GuLs7b3nRF8VeRtinQ 建立在高通量测序基础上的微生物群落研究,当前主要有三大类:基于16S/18S/ITS等扩增子做物种分类的Metataxanomics.鸟枪法打断全基因组DNA序列的Metagenomics和基于mRNA信息的宏转录组方法Meta-transcriptomics. 16S,也即是我们通常所说的微生物多样性,是一种相对快速和经济适用的方法,但是PCR导致了偏好的产生,这就降低了注释准确度.此外,…
转载出处:通道 多态(polymorphism)一词最初来源于希腊语polumorphos,含义是具有多种形式或形态的情形.在程序设计领域,一个广泛认可的定义是“一种将不同的特殊行为和单个泛化记号相关联的能力”.和纯粹的面向对象程序设计语言不同,C++中的多态有着更广泛的含义.除了常见的通过类继承和虚函数机制生效于运行期的动态多态(dynamic polymorphism)外,模板也允许将不同的特殊行为和单个泛化记号相关联,由于这种关联处理于编译期而非运行期,因此被称为     静态多态(sta…
1.#include指令  包含指定的文件 2.#define指令   预定义,通常用它来定义常量(包括无参量与带参量),以及用来实现那些“表面似和善.背后一长串”的宏,它本身并不在编译过程中进行,而是在这之前(预处理过程)就已经完成了 3.#typedef指令 常用来定义一个标识符及关键字的别名它是语言编译过程的一部分,但它并不实际分配内存空间. 4.#ifndef   #else   #endif指令  条件编译.一般情况下,源程序中所有的行都参加编译.但是有时希望对其中一部分内容只在满足一…
宏定义中使用do{}while(0)的好处   #define MACRO_NAME(para) do{macro content}while(0)   的格式,总结了以下几个原因:   1,空的宏定义避免warning: #define foo() do{}while(0) 2,存在一个独立的block,可以用来进行变量定义,进行比较复杂的实现. 3,如果出现在判断语句过后的宏,这样可以保证作为一个整体来是实现:   #define foo(x) /action1(); /action2();…
注意:_VA_ARGS__ 从VS2005才开始支持 在 GNU C 中,宏可以接受可变数目的参数,就象函数一样,例如: #define pr_debug(fmt,arg...) printk(KERN_DEBUG fmt,##arg) 用可变参数宏(variadic macros)传递可变参数表 你可能很熟悉在函数中使用可变参数表,如: void printf(const char* format, -); 直到最近,可变参数表还是只能应用在真正的函数中,不能使用在宏中. C99编译器标准终于…
我们都知道在防止如block的循环引用时,会使用__weak关键字做如下定义: __weak typeof(self) weakSelf = self; 后来,为了方便,不用每次都要写这样一句固定代码,我们定义了宏: #define WeakSelf __weak typeof(self) weakSelf = self; 之后,我们可以比较方便的在需要的地方: WeakSelf; ... [weakSelf doSomething]; 再后来,我们发现不止self需要使用weak,可能有部分变…
参考帖子: (1)MSDN上专门讲预定义宏:https://msdn.microsoft.com/en-us/library/b0084kay(v=vs.80).aspx (2)VS中属性页的配置介绍:http://m.blog.csdn.net/blog/justkong/7949008 (3)判断程序是否在win64环境中运行:http://fenying.blog.163.com/blog/static/10205599320137224339263/ (4)http://fenying.…
摘自:http://blog.chinaunix.net/uid-21372424-id-119797.html   C++宏定义详解 2011-02-14 23:33:24   分类: C/C++ 一.#define的基本用法     #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序…
原文地址  :  http://blog.chinaunix.net/uid-675476-id-2076827.html 在SAS宏中,字符串是用双引号括起来的,但如果字符串中要包含双引号或百分号等特殊字符就要使用单引号来对字符串中的特殊字符逃逸.比如:%let test = ‘”A” is the first character !’; 但如果字符串中包含单引号,则上述方法便失效了.所以更一般的,SAS提供了%str和%nrstr来对特殊字符转义.其中%str可以转义逗号,单双引号,左右小括…
转自:http://blog.csdn.net/txgc1009/article/details/6833764 通过命令rpm --showrc查看实现代码.另外直接通过 rpm --eval "%{macro}"来查看具体对应路径. 比如我们要查看%{_bindir}的路径,就可以使用命令rpm --eval "%{ _bindir}"来查看. 另外,所有的宏都可以在/usr/lib/rpm/macros里找到. 下面是宏对应路径一览表: Macros mimi…
原文路径:http://blog.csdn.net/puttytree/article/details/7838419 在介绍项目配置之前,先说明两点 1. 项目配置中,最好不要使用相对路径,更不要使用绝对路径 应尽量使用宏来指定所有路径 请在以下地方查看VS2008中与路径相关的宏 a.C/C++->常规->附加包含目录 b.点击右边的按钮,会弹出一个对话框 c.点击右下角的宏按钮,就可以看到所有的宏 2. 在进行项目设置的时候,如果Debug和release下具有相同的属性,那么,在属性页…
原文:http://www.cnblogs.com/lidabo/archive/2012/05/29/2524170.html 说明 $(RemoteMachine) 设置为“调试”属性页上“远程计算机”属性的值.有关更多信息,请参见更改用于 C/C++ 调试配置的项目设置. $(References) 以分号分隔的引用列表被添加到项目中. $(ConfigurationName) 当前项目配置的名称(例如“Debug”). $(PlatformName) 当前项目平台的名称(例如“Win32…
原文:http://blog.sina.com.cn/s/blog_3f27dee60100qi4j.html 一直搞不懂为什么在函数前面加上WINAPI.CALLBACK等是什么意思 又不是返回值 为什么加在前面 今天终于知道了 这是一个呼叫声明(姑且称之吧). 引子: 看看这个函数: int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int sw){     MSG msg; //进行程序的初始化工作 …
原文地址:https://www.cnblogs.com/heekui/archive/2008/03/30/1129355.html 近日的一系列工作是做网站的营运维护,因此做了大量的支持工具.有Excel中写VBA的,也有直接C#做的工具.有时需要在C#中执行Excel VBA宏,甚至有时还需要在执行了VBA宏之后,获取返回值再进行相应的处理.为了使用方便,我写了一个执行Excel VBA宏的帮助类 .放在博客里做个备份也希望对有类似需求的朋友有所帮助. 帮助类仅提供了一个方法:RunExc…
当然宏定义非常重要的,它可以帮助我们防止出错,提高代码的可移植性和可读性等. 1,防止一个头文件被重复包含 #ifndef COMDEF_H#define COMDEF_H //头文件内容 …#endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植. typedef  unsigned long int  uint32;      /* Unsigned 32 bit value */ 3,得到指定地址上的一个字节或字#define  MEM_B( x…
1 FLUENT变量梯度宏 C_R_G C_P_G C_U_G C_V_G C_W_G C_T_G C_H_G C_YI_G C_R_RG C_P_RG C_U_RG C_V_RG C_W_RG C_T_RG C_H_RG C_YI_RG FLUENT计算中单元变量有两种梯度:非限制梯度(后缀_G)和重建梯度(后缀_RG),帮助文档建议如果需要通过单元变量重建计算单元面上的变量则使用重建梯度计算更精确. 说明: 只有当求解器正在求解某一变量时才能读取该变量的梯度.例如,定义一个能量源项时,可以读…