包含目录,库目录,环境
来源:互联网 发布:tcl l32f3300b 网络 编辑:程序博客网 时间:2024/05/18 00:56
一般在使用开源代码,比如boost或者是自己写的dll的时候,用包含目录,库目录会很方便。
如果需要加载dll,那么就需要在录目录下加上dll的路径,好处是可以省掉复制粘贴或者别的麻烦,直接使用dll,那么在使用dll的时候,一般都会有头文件暴露出来dll中所包含的文件,那么包含目录即需要将这些头文件的目录加进来,这样才可以找到头文件,从而调用到其中的函数。
比如你写的是一个win32的控制程序,且调用了别的dll,那么在运行的时候,它可能会提醒说
缺少某某dll,那么就需要在环境这个变量这里加上需要的dll的路径,一般的格式为path = $(path);$(SRC_BOOST);
下面在说一下环境变量,环境变量其实就是一些个可以理解为是c中的宏的一个东西,只不过这个是操作系统下定义的,
环境变量的设置方式
好处是如果此程序与别人共享,那么使用环境变量比较方便,只要让别人也定义这么个变量即可,至于变量的内容当然是因人而异,因机器而异了。
加载dll的方式包括动态和静态两种方式。
静态的话就是直接包含dll,lib文件来的。
动态的话,可以这样
hdll = LoadLibrary(“dll名称”);
先使用此方法将dll文件读进来,返回一个句柄,需要判空,如果是空,需要调用FreeLibrary(hdll )释放;
然后如果要使用其中的某一个函数需要这样
GetProcAddress();需要使用这个函数来获取一个函数指针,其实也就是函数的地址来调用它。
使用方式FUN = (fun)GetProcAddress(hdll , “fun”);
_fn_set_stop_restrainswitch = (FN_SetStopRestrainSwitch)GetProcAddress(_hmod,"SendCmdForSetStopRestrainSwitch");
FN_SetStopRestrainSwitch为函数指针,_fn_set_stop_restrainswitch 为此函数指针变量
FUN是一个函数指针,引号内的为函数名称,在调用的时候使用FUN(参数列表)即可调到fun()函数
注意,当然每次操作之后都需要判空,如果是空,需要FreeLibrary(hdll)释放掉指针,最后使用结束也是一样的。
- 包含目录,库目录,环境
- 库目录和包含目录
- 附加库目录与附加包含目录
- QCreator 设置包含目录和库目录
- VS2010添加包含目录和库目录
- {opencv环境配置}以及{VC包含目录、附加依赖项、库目录及具体设置}
- 包含目录、库目录、附加包含目录、附加库目录、附加依赖项之详解
- 包含目录、库目录、附加包含目录、附加库目录、附加依赖项之详解
- VS中包含目录、附加包含目录、附加库目录及附加依赖项
- 包含目录和附加包含目录
- vs2010修改包含目录,库目录以及依赖库
- VS2005 项目怎样添加“依赖”、“库目录”和“包含目录”
- VC2008项目添加"依赖"、"库目录"和"包含目录"
- VS2008 C++ 项目添加“依赖”、“库目录”和“包含目录”
- VS2010中如何添加“依赖”、“库目录”、“包含目录”
- VS2010中如何添加“依赖”、“库目录”、“包含目录”
- VC++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- VS2008 C++ 项目添加“依赖”、“库目录”和“包含目录”
- Android使用设置AlertDialog(退出提示框)
- C++ 编程实现--单例模式-->初学者
- HLG 1038 菜鸟和大牛(数塔问题 简单DP)
- 免杀-加密前4k程序
- xcodebuild和xcrun实现自动打包iOS应用程序
- 包含目录,库目录,环境
- adb shell dumpsys 命令——打印当前系统信息
- Sublime Text 2 编辑器下载安装
- 删除cell 报错*** Assertion failure in -[UITableView _endCellAnimationsWithContext:]
- 创建使用拦截器
- [Leetcode] Decode Ways - python
- mysql hql异常
- 如何使用iOS Keychain存储用户敏感信息
- 自定义u-boot启动logo的方法