C++学习之简单dll制作和预编译头
来源:互联网 发布:vv5的碰撞数据 编辑:程序博客网 时间:2024/05/08 22:09
头文件保护
在编译C++程序时,编译器自动定义了一个预处理器名字__cplusplus(两个下划线).因此我们可以根据它来判断是否为C++程序,以便有条件的包含一些代码
则日期表示为Oct 31 1996
#ifndef HEAD_H#define HEAD_H//头文件内容#endif
在有些代码中我们可以看到这样的代码
#ifdef DEBUG//...#endif如果程序定义了预编译器DEBUG名字,程序将执行中间部分的代码
在编译C++程序时,编译器自动定义了一个预处理器名字__cplusplus(两个下划线).因此我们可以根据它来判断是否为C++程序,以便有条件的包含一些代码
#ifdef __cplusplus//不错,我们要编译C++extern "C"#endif
在编译标准C时,编译器将自动定义名字__STDC__。当让__cplusplus与__STDC__不会同事被定义
另外两个比较有用的预定义名字是:__LINE__和__FILE__。__LINE__记录文件已经被编译的函数, __FILE__包含正在被编译的文件的名字
可以这样使用它们
if (element_count == 0)cerr << Error:" << __FILE__<<":line" << __LINE__<< "element_count must be non-zero.\n";另外两个预定义名字分别包含被当前编译文件的事件和日期(__TIME__)和日期(__DATE__)。时间格式为hh:mm:ss,如果这一天时间为1996年10月31号
则日期表示为Oct 31 1996
DLL生成,在vs2010中选择控制台程序选择生成Dll文件
头文件中可以定义函数
extern "C" bool __declspec(dllexport) Run();
在cpp文件中实现Run()函数
可以再def文件中这么写
LIBRARY dll文件名
EXPORTS
RUN @ 1
这样方便引用
例如在C#中引用此dll文件
首先添加名字空间
using System.Runtime.InteropServices;[DllImport("Tpci102Dll.dll", CallingConvention = CallingConvention.StdCall)]public static extern bool Run();
0 0
- C++学习之简单dll制作和预编译头
- 预编译头文件和dll相关
- 【C++】 预编译头文件
- 【C++】预编译头文件
- C/C++展开头文件和宏(预编译)
- C/C++预编译头的概念
- C/C++ 预处理/预编译头文件
- C/C++预编译头的概念
- C/C++预编译头的概念
- visual studio之预编译头
- 笔记-编译器选项之预编译头
- #pragam once 和 #ifndef 预编译头
- 预编译头和.pch 文件
- #pragam once 和 #ifndef 预编译头
- 头文件和预编译指令
- C语言学习之详解#ifndef预编译
- C语言学习之详解#ifndef预编译
- C语言学习之详解#ifndef预编译
- 寻找最快的debian源sources.list (debian apt-spy)
- 谈谈人的视觉特性与电视的关系
- 随身Win8系统DIY
- 【Unity3D】【NGUI】如何设置Atlas的Texture
- 50种方法优化SQL Server
- C++学习之简单dll制作和预编译头
- arduino中文论坛
- 新浪微博首席架构师漫谈微博底层架构
- tomcat安装solr4.6
- MATLAB Toolbox Path Cache is out of date and is not being used的解决
- copy命令玩捆绑
- gabor滤波器整理
- C++反汇编学习笔记1——选择判断语句
- 求字符串的长度(指针作参考)