#define WIN32_LEAN_AND_MEAN 的作用
[转]#define WIN32_LEAN_AND_MEAN 的作用
今天看了用mysql的库+vc连接数据库,结果我用mfc application向导建立一个工程,然后添加#include "mysql.h"(已经设置好了环境),编译出现了一大堆错误,如下
Compiling...
StdAfx.cpp
c:mysqlincludemysql_com.h(116) : error C2146: syntax error : missing ';' before identifier 'fd'
c:mysqlincludemysql_com.h(116) : error C2501: 'SOCKET' : missing storage-class or type specifiers
c:mysqlincludemysql_com.h(116) : error C2501: 'fd' : missing storage-class or type specifiers
c:mysqlincludemysql_com.h(180) : error C2065: 'SOCKET' : undeclared identifier
c:mysqlincludemysql_com.h(180) : error C2146: syntax error : missing ')' before identifier 's'
c:mysqlincludemysql_com.h(181) : error C2059: syntax error : ')'
Error executing cl.exe.
网上找了许久,没有找到答案,我就查看了mysql根目录下的examples,里面有个工程是不是用 c++编写的,我调试了一下,居然可以编译,我就想mysql.h这个文件不会有错误,应该是编译时,include 冲突了,我就把stdafx.h那个文件删除掉几行,结果当我把#define WIN32_LEAN_AND_MEAN这几话屏蔽后,就可以编译了,我也试用了 mysql_init((MYSQL*) 0);这个函数没有问题.所以问题就出在define WIN32_LEAN_AND_MEAN这句话.
#define WIN32_LEAN_AND_MEAN,这句的目的是指示编译器不要包含与MFC相关的操作。( 只是一个好的练习——如果你不在使用 MFC) 然后我们包括 dxutil.h 和 ddutil.h,这是两个很有用的头文件。 他们能够使你以一种比通常的DirectX编程更轻松的方式来工作。
为什么要 #define WIN32_LEAN_AND_MEAN 。
答案很简单,因为我要包含尽量精简的内容,包含了这一句编译的时候明显快多了。
转载于:https://www.cnblogs.com/Dageking/p/3521405.html
#define WIN32_LEAN_AND_MEAN 的作用相关推荐
- 每日一题(12)—— .h头文件中ifndef/define/endif的作用
.h头文件中ifndef/define/endif的作用? 分析: 防止头文件被重复包含. #ifndef _TEST_H_ #define _TEST_H_/* test.h */#endif / ...
- #ifndef #define #endif的作用
#ifndef #define #endif的作用 在一个大的软件工程里面,可能会有多个文件同时包含一个头文件.当这些文件编译链接成一个可执行文件时,就会出现大量重定义的错误. 在头文件中实用#ifn ...
- #ifndef, #define, #endif的作用
目录 作用 示例 作用 #ifndef 它是if not define 的简写,是宏定义的一种,实际上确切的说,这应该是预处理功能三种(宏定义.文件包含.条件编译)中的一种--条件编译. 在c语言中, ...
- 【C/C++】ifndef/define/endif的作用
参考资料来源于网上,还未经本人实验证明. 1 作用 防止头文件被重复包含和编译. 头文件重复包含会增大程序大小,重复编译增加编译时间. 解释:#ifndef起到的效果是防止一个源文件多次包含同 ...
- #ifndef、#define、#endif作用
1. 作用 防止头文件被重复引用,防止被重复编译. 2. 简介 #ifndef 它是if not define的简写,是宏定义的一种,确切的说是预处理功能(宏定义.文件包含.条件编译)三种中的一种-- ...
- #define 中 \ 的作用
\ 表示强制换行,而换行后的内容与前一行的内容编译器仍把它看作是同一行. #define后面定义的内容比须在同一行,而有时是为了让程序便于阅读,从中间进行换行,如果没有符号' ',则换行表示 #def ...
- #define中的“\”作用
在C++中,我们在定义#define宏时是要保持在一行的,而有时候定义内容可能不是很美观,影响阅读,而在这时我们就可以使用 " \ " 强制转行,使编译器仍将换行后认为是同一行,增 ...
- VC中的宏 (#define) 与预处理 (#if/#ifdef/#pragma) 的使用方法总结。
C/C++ 预定义宏 例子:C/C++ 预定义宏的取值 C/C++ 预定义宏用途:诊断与调试输出 CRT 的诊断与调试输出:assert, _ASSERT/_ASSERTE, _RPTn/_RPTFn ...
- rb c语言,C语言,RB和RBT什么区别啊???这里的typedef 什么作用???
满意答案 guiyalm4704 2017.01.10 采纳率:58% 等级:12 已帮助:5026人 1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是 ...
最新文章
- 基于PU-Learning的恶意URL检测
- MySQL主从复制虽好,能完美解决数据库单点问题吗?
- Nginx 最全操作总结
- J2EE 第二阶段项目之编写代码(六)
- 第一个程序,Hello World
- lvs和HA的高可用性
- C# 子类实例化基类 基类使用不了子类的方法_C#高级编程面试考题
- c# webapi返回html,c#-从Web API 2端点返回自定义HTTP状态代码
- 大数据学习笔记:ZooKeeper练习
- 假Chrome扩展程序“Internet下载管理器”已安装20万次
- 笔记:《深入浅出统计学》第十三章:假设检验(显著性检验)
- 数据通信与计算机网复习题,数据通信与计算机网络 复习题总.doc
- error: field ‘ifru_hwaddr’ has incomplete type
- 我有一个还在蹒跚学步的小孩是否应该学习Python?
- 手机从哈林子弹节省人力
- 2022年全球市场三维测量产品总体规模、主要生产商、主要地区、产品和应用细分研究报告
- vite:配置ip访问
- 华侨大学教务系统评教脚本----一键评教
- iview 表格合并行
- 网页聊天窗口的自动输入内容及自动发送
热门文章
- memcacheq 服务安装与原理
- 何崚谈阿里巴巴前端性能优化最佳实践
- Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
- alert在asp.net中如何使用??
- 图像相似度计算之哈希值方法OpenCV实现
- OpenCV提取轮廓(去掉面积小的轮廓)
- 【Qt】ubuntu14.04.5 qt5.6中使用opencv3.4报错:Using GTK+ 2.x and GTK+ 3 in the same process is not supported
- docker注册表回传失败 群晖6.2_Glances实时监视群晖运行状况
- Linux拷贝数据死机了,Linux系统“死机”时怎么办?
- javascript乘法和加法_JavaScript大数相加相乘的实现方法实例