dllexport和dllimport

article/2025/11/4 21:29:13

在VS中,如果要跨项目使用类或变量,就必须用到dllexport和dllimport,下面分别举例全局变量,函数和类跨项目使用。
环境准备:使用VS分别新建一个windows应用程序和DLL项目,windows应用程序项目名称为ConsoleApplication1,DLL项目名称为testExtern。
在这里插入图片描述
在这里插入图片描述
在ConsoleApplication1上右键项目属性
在这里插入图片描述
附加库目录加上testExtern生成dll和lib所在的目录
在这里插入图片描述
附加依赖项加上testExtern.lib名称

全局变量

在同一个项目中,全局变量不需要导出,extern声明一下即可:
test.cpp中定义:

int a = 100;

main.cpp中使用:

extern int a;
int main()
{cout << a << endl;
}

输出100;

在textExtern项目中定义全局变量(只有定义了导出宏时才会生成lib文件),则需要将其导出:

int _declspec(dllexport) sssss = 1000000;

在ConsoleApplication1中使用sssss这个全局变量时,则需要导入:

extern  int _declspec(dllimport)  sssss;
int main() 
{cout << sssss << endl;return 0;
}

函数

一般在声明时导出即可:

_declspec(dllexport) void   myFun();
void  myFun()
{std::cout << "myFun()" << std::endl;
}

在main.cpp中包含声明的头文件,不包含头文件则需要extern并声明导入

int main() 
{myFun();return 0;
}

在testExtern项目中ExportClass必须在定义时导出,在ConsoleApplication1中使用时必须包含其头文件

class _declspec(dllexport) ExportClass
{
public:void testExportClass();
};
void ExportClass::testExportClass()
{std::cout << "textExportClass()" << std::endl;
}

main.cpp中:

#include "C:\Users\Administrator\Documents\Visual Studio 2015\Projects\ConsoleApplication1\testExtern\extern.h"
int main() 
{ExportClass ex;ex.testExportClass();return 0;
}

http://chatgpt.dhexx.cn/article/o8nG7LYx.shtml

相关文章

简记C#DllImport异常

C#开发过程中&#xff0c;有些动态库引用不了&#xff0c;需要用DllImport加载该文件动态库&#xff1b; 然后在引用的过程中会碰到各种问题&#xff0c;当然网上各种回答&#xff0c;能解决大部分问题。 我在这里简单记录下问题的解决方案&#xff1a; ”尝试读取或写入受保…

关于c++动态库的dllexport和dllimport

先推荐一款比Microsoft Coplilot更好用的辅助编程工具——Cursor&#xff0c; 一款基于GPT4的新一代辅助编程神器——Cursor&#xff0c;官网介绍说是与OpenAI合作并且基于GPT4。自己体验了下&#xff0c;确实不错&#xff0c;值得尝试。 官网地址&#xff1a; Cursor | Build…

C# dllimport

一、DllImport是System.Runtime.InteropServices命名空间下的一个属性类&#xff0c;其功能是提供从非托管DLL导出的函数的必要调用信息 DllImport的定义如下&#xff1a; public class DllImportAttribute:System.Attribute { public DllImportAttribute(string dllName) {……

C#中DllImport用法和路径问题

DllImport 是System.Runtime.InteropServices命名空间下的一个属性类&#xff0c;其功能是提供从非托管DLL导出的函数的必要调用信息。 DllImport属性应应用于方法&#xff0c;要求最少要提供包含入口点的dll的名称。 文章目录 一 DllImport的定义如下&#xff1a;二 DllImpo…

1-5(中文版)听力积累

O 听力积累 KR 参照连接&#xff0c;建议看一看 听力学习步骤 选择材料&#xff1a;使用English Pod材料 Englishpod是一家公司叫做Praxis Language 推出的收费讲座。讲座高度还原生活场景&#xff0c;两位优秀的主持人以轻松聊天的方式讲解点评场景内容&#xff0c;在此过…

该如何拯救我的英语

说来羞愧&#xff0c;从初中开始&#xff0c;就算到大学本科毕业为止吧&#xff0c;英语也算得上是持续地学习了有 10 年时间了&#xff0c;十年啊&#xff0c;十年了&#xff0c;你知道这十年我是怎么。。。。emmm&#xff0c;十年时间就算是一天只记一个单词&#xff0c;那少…

英语磁带与计算机磁带区别,小学英语教材配听力磁带 家长:谁还用复读机?...

时间倒回十多年&#xff0c;大家听歌、听英语还是用磁带&#xff0c;复读机、录音机也是学生人手必备的学习用品。但在各种高端电子产品充斥的今天&#xff0c;再去找个录音机可能就非常困难了。这不&#xff1f;刚刚开学&#xff0c;就有小学一年级的家长被难倒了&#xff0c;…

小学听力测试英语软件,亲测:好用的小学英语软件有哪些?这6款通通安利给大家!...

原标题&#xff1a;亲测&#xff1a;好用的小学英语软件有哪些&#xff1f;这6款通通安利给大家&#xff01; 首先&#xff0c;老师需要提前表明的是&#xff1a; 今天给大家推荐的这8款好用的小学英语软件&#xff0c;有的是我亲自测试过的&#xff0c;有的是同办公室的英语老…

什么软件能做英语测试卷听力,请问谁知道那些英语课本、期中期末考试的听力朗读的声音是怎么合成的?用什么软件?谢谢了...

满意答案 ceterry 2014.02.02 采纳率&#xff1a;57% 等级&#xff1a;12 已帮助&#xff1a;10834人 这些都是用 能说会道 XP 这个软件合成的&#xff0c;只需要课文的文字内容就可以转换成MP3的语音资料&#xff0c;还带LRC字幕&#xff0c;很方便&#xff0c;效果也好 “…

四六级英语听力软件测试,三款精品英语听力软件,提高四六级听力有诀窍

原标题&#xff1a;三款精品英语听力软件,提高四六级听力有诀窍 英语听力是所有英语考试中不可忽视的一个环节。然而在我们日常学习生活中&#xff0c;尤其是四六级备考&#xff0c;不乏只记单词不善听的情况&#xff0c;一个很重要的原因在于很多学生认为训练四六级听力太麻烦…

小学听力测试英语软件,你知道有哪些软件适合给小学生练习在线英语听力吗?...

前言&#xff1a; 随着英语听力软件在英语学习者当中的普及&#xff0c;如何挑选合适的听力软件倒成了技术活儿。你知道有哪些软件适合给小学生练习在线英语听力吗&#xff1f;今天为大家推荐3款好用的。 英语听力软件自推广以来&#xff0c;其趣味性和便捷性都是毋庸置疑的&am…

android英语听力播放器,掌上英语听力下载-掌上英语听力 安卓版v1.5.1-PC6安卓网...

掌上英语听力app是一款优质的英语听力练习软件。掌上英语听力app主要为用户提供专业的英语听写练习功能&#xff0c;有了掌上英语听力&#xff0c;使你进行英语听力练习更方便。 软件介绍 掌上英语听力是一款简单实用的英语听力软件&#xff0c;每天会推荐英语学习听力内容&…

剑桥标准英语教程听力资源1-4级

--------》 剑桥标准英语教程听力资源地址 书 名&#xff1a;剑桥标准英语教程4A&#xff1a;学生用书&#xff08;附光盘1张&#xff09; 作 者&#xff1a;Michael McCarthy, Jeanne McCarten, Helen Sandiford 出 版 社&#xff1a;北京语言大学出版社 书 名&#x…

网上英语听力测试的软件,初中英语听力测试

初中英语听力测试是一款专为初中学生打造的英语听力学习服务应用软件&#xff0c;初中英语听力测试app为用户提供了初一到初三的英语听力题库&#xff0c;并有中考听力真题试题和模拟试题。感兴趣的朋友欢迎使用西西下载&#xff01; 基本内容 初中英语听力训练软件&#xff0c…

英语测试听力材料软件,英语听力软件哪个好?来这里!

原标题&#xff1a;英语听力软件哪个好&#xff1f;来这里&#xff01; 智能手机现在几乎是人手一部了&#xff0c;但是每个人在使用智能手机的功能的时候却有不同的选择。喜欢英语的小伙伴会下载一些关于英语学习的软件&#xff0c;这样就能很好的利用碎片化的时间来提高自己的…

汇总linux下安装软件的几种方式------写的很好

转载地址&#xff1a;http://www.360doc.com/content/16/1006/11/29770038_596138348.shtml 安装软件---这个操作在WINDOWS的世界里很简单&#xff0c;下载软件双击exe文件即可&#xff0c;还有自动运行方式的&#xff0c;复杂点的执行bat之类的可执行程序即可。但Linux不然&am…

linux下如何安装软件

在Windows下安装 软件 时&#xff0c;只需用鼠标双击软件的安装程序&#xff0c;或者用Zip等解压缩软件解压缩即可安装。在Linux下安装软件对初学者来说&#xff0c;难度高于Windows下软件安装。下面我就详细讲解Linux下如何安装软件。 <script type"text/javascript&…

一文教你在Linux安装软件

Linux是个好东西&#xff0c;现在大多数服务器用的都是Linux操作系统。 不过我们通常需要在Linux上安装一些软件&#xff0c;在Windows上安装软件太简单了&#xff0c;不过在Linux上安装软件可能有些难度。不过没关系&#xff0c;本文将会交给你如何在Linux上安装软件。 本文介…

LINUX安装软件等管理工具的使用

1.使用rpm安装mon(忽略依赖关系安装) 查询是否已安装 卸载mon 查询所有已安装软件 查询date命令所在软件包 查询未安装的mon的文件信息 2.yum本地源配置 yum网络源配置 安装httpd软件 查看vim命令属于哪个软件包 yum卸载httpd [rootroot yum.repos.d]# yum remove httpd Up…

Linux软件包安装

目录 1.安装及管理程序 1.1 应用程序与系统命令的关系 1.2 典型应用程序的目录结构 1.3 常见的软件包封装 2.RPM软件包管理工具 2.1 什么是RPM 2.2 RPM命令 2.3 RPM常用命令 2.4 安装、升级、卸载RPM软件包 2.5 解决软件包依赖关系方法 3.yum 3.1 yum命令 3.2 配置…