导航

1.编译环境

系统:windows10

环境:VS2010 + Qt5.5.1

2.项目配置

1.设置附加包含目录

1.此项设置包含的头文件,需要填入用到的.h文件目录

2.下图中的QTDIR是Qt5.5.1安装目录环境变量(默认路径:C:\Qt\Qt5.5.1\5.5\msvc2010)

2.设置附加库目录

1.此项设置引用的lib目录,如下图。

3.设置附加依赖项

1.此处设置指定的lib文件,一般不用填写。

3.CLR中各种定义

1.接口定义

2.类定义

3.枚举定义

4.属性定义

1.接口中定义:

2.类中定义:

4.CLR中各种使用

1.类的实例化

所有.net对象都需要使用gcnew进行创建,gcnew创建的对象不需要自己手动释放内存。

GTable ^ ret = gcnew GTable();

2.命名空间的使用

命名空间用于限定类,不同于C#,这里使用::进行分割。

virtual MyNameSpace::ITable ^ GetTable(int index);

5.CLR中数据类型的转换

1.String ^ 到 QString 的转换

QString MarshalString(String ^ s)

{

using namespace Runtime::InteropServices;

const char* chars =

(const char*)(Marshal::StringToHGlobalAnsi(s)).ToPointer();

string str = chars;

QString ret = str.c_str();

Marshal::FreeHGlobal(IntPtr((void*)chars));

return ret;

}

2.QString 到 String ^ 的转换

String ^ MarshalStringLocal8(QString os)

{

using namespace Runtime::InteropServices;

if (os.isNull()) return nullptr;

QByteArray data = os.toLocal8Bit();

char * str = new char[data.length() + 1];

strcpy_s(str, data.length() + 1, data.constData());

String ^ ret = Marshal::PtrToStringAnsi(static_cast(str));

delete str;

return ret;

}

String ^ MarshalString(QString os)

{

using namespace Runtime::InteropServices;

QByteArray data = os.toUtf8();

char * str = new char[data.length() + 1];

strcpy_s(str, data.length() + 1, data.constData());

String ^ ret = Marshal::PtrToStringAnsi(static_cast(str));

delete str;

return ret;

}

3.char * 到 String ^

String ^ MarshalString(char* os) {

using namespace Runtime::InteropServices;

String ^ ret = Marshal::PtrToStringAnsi(static_cast(os));

return ret;

}

4.wchar_t * 到 String ^

String ^ MarshalString(wchar_t* os) {

using namespace Runtime::InteropServices;

String ^ ret = Marshal::PtrToStringUni((IntPtr)os);

return ret;

}

5.数组的转换

using namespace System::Runtime::InteropServices;

QByteArray byteArray = obj.toByteArray();

int length = byteArray.count();

array ^ rbyteArray = gcnew array(length + 2);

Marshal::Copy((IntPtr)byteArray.data(), rbyteArray, 0, length);

ret = rbyteArray;

Visual Studio 2015开发Qt项目实战经验分享(附项目示例源码)

Visual Studio 2015开发Qt项目实战经验分享(附项目示例源码)    转 https://blog.csdn.net/lhl1124281072/article/details/800 ...

Go项目的测试代码2(项目运用)

上一篇文章介绍了最基本的测试代码的写法.Go项目的测试代码(基础) 这里简单的共享一下我在项目中使用的方式. 项目结构 我们实际项目中, 结构简单地分了控制层controllers和模块层models ...

Django(一)基础:安装环境、创建项目、视图、创建一个项目的应用(app)

一.安装环境 参考: https://docs.djangoproject.com/zh-hans https://www.runoob.com/django/django-install.html ...

Win32控制台、Win32项目、MFC项目、CLR控制台、CLR空项目、空项目区别

转载:https://blog.csdn.net/zfmss/article/details/79244696 1.Win32控制台 初始代码模版以main为程序入口,默认情况下,只链接C++运行时库 ...

VS自定义项目模板:[2]创建VSIX项目模板扩展

VS自定义项目模板:[2]创建VSIX项目模板扩展 听语音 | 浏览:1237 | 更新:2015-01-02 09:21 | 标签:软件开发 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师 ...

myeclipse如何修改Web项目名称,eclipse如何修改项目名字

myeclipse如何修改Web项目名称 1.复制一个现有的项目,重命名项目名称 2.这里的项目名称重新命名了,但是Web项目本质下的名称还是没有改变的.所以需要更改,更改方法-->选择项目右击 ...

HttpClient_001_初步实现项目01的servlet,与项目02的servlet,之间数据访问

HttpClient_001_初步实现项目01的servlet,与项目02的servlet,之间数据访问 代码下载地址: http://download.csdn.net/detail/poiuy19 ...

Intellij IDEA 的使用(创建项目、导入项目、同时部署多个项目、JRebel)等常见eclipse、myeclipse换idea必看

第一篇:Intellij IDEA 的使用 1.黑色主题 中文乱码修改 2.WEB项目的部署 以及自动编译 3.多项目的同时部署 4.相关插件提高工作效率 1.JRebel插件 实现热部署 2.Tas ...

eclipse中本地项目怎么和svn中的项目关联?

网速不好,通过别的方式把项目下载到本地硬盘,然后导入eclipse,代码修改后怎么提交到svn呢? 这个纠结了好久的问题... 首先要确定eclipse中安装了svn插件. 然后在“svn资源库研究” ...

让项目管理理论“落地”——读《IT项目经理成长手记》有感

最近利用业余时间阅读了一本好书--(潘东.韩秋泉著).本书的两位作者是神州数码(中国本土最大的整合IT服务提供商)的高管,在书中他们介绍了神州数码在IT项目管理领域 ...

随机推荐

jdk(多版本)安装注意!

♣安装jdk和jre ♣jdk配置环境变量和测试 ♣安装多版本jdk和切换 ♣jdk下的jre和第二次安装的jre的区别 注意点: 1.jdk版本需要是64位 2.安装JDK 选择安装目录 安装过程中 ...

MINA2 框架详解(转)

Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP.UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务.虚拟机管道通信服务等),M ...

FragmentTabHost

FragmentTabHost public class FragmentTabHost  extends TabHost implements TabHost.OnTabChangeListener ...

搭建spring+mybatis+struts2环境的配置文件

1.web.xml配置 <?xml version="1.0" encoding="UTF-8"?>

初用jquery

---恢复内容开始--- 这两天在顶顶大人的指导下,利用jquery框架做了一个动态切换的小页面.最终效果图: 这么萌萌哒的图片让我觉得一直在测试也没那么累.实现功能如下: 1.打开页面时,自动切换, ...

NetCore1&period;1&plus;Linux部署初体验

1.环境准备 Centaos7+Win10 虚拟机 Win10安装VS2017 https://www.asp.net/downloads注意勾选下.Net Core 3.Centaos安装netco ...

Python网络编程篇之socket

1 socket 插座?呵呵,想多了,翻译过来意思是套接字! A network socket is an internal endpoint for sending or receiving dat ...

&lbrack;NOI2015&rsqb;寿司晚宴(状压dp)

为了庆祝NOI的成功开幕,主办方为大家准备了一场寿司晚宴.小G和小W作为参加NOI的选手,也被邀请参加了寿司晚宴. 在晚宴上,主办方为大家提供了n−1种不同的寿司,编号1,2,3,⋯,n-1,其中第种 ...

MVC,MVP设计模式

什么是MVP MVP是模型(Model).视图(View).主持人(Presenter)的缩写,分别代表项目中3个不同的模块. 模型(Model):负责处理数据的加载或者存储,比如从网络或本地数据库获 ...

React Native入坑记录

1.render中如果使用props,直接用this.props.xxx,如果是在JSX中,用{this.props.xxx} 2.警告each child in an array or iterat ...

c调用c++ qt_C#调用C++(QT5.5.1项目)的C++/CLI(CLR项目)项目技术笔记相关推荐

  1. 直观讲解一下 RPC 调用和 HTTP 调用的区别!

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:浮生忆梦 blog.csdn.net/m0_3811 ...

  2. 直观讲解一下RPC调用和HTTP调用的区别

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:浮生忆梦 blog.csdn.net/m0_38110132 ...

  3. 把接口调用打成jar包的类怎么写_直观讲解RPC调用和HTTP调用的区别

    来源 :浮生忆梦 很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~N ...

  4. oracle创建函数和调用存储过程和调用函数的例子(区别)

    创建函数: 格式:create or replace function func(参数 参数类型) Return number Is Begin --------业务逻辑--------- End; ...

  5. C++对象模型3——vptr的位置、手动调用虚函数、从汇编代码看普通调用和多态调用

    一.vptr的位置 class test { public:int i; virtual void testfunc() {} };int main() {test a;char* p1 = rein ...

  6. zblog如何调用HTML,Zblog调用栏目文章的方法

    很多的网站在php空间建站和运营的时候都会要调用到某个栏目里的文章,关于调用栏目里的文章这一类的教程,无忧主机小编也已经介绍过很多种类的程序和方法,但是还没有介绍过zblog这款程序的调用栏目文章的方 ...

  7. java调用net webservice_java调用.net的webservice

    一.参考文献 二.概述 前面写了一篇博客eclipse+webservice 是在java环境下进行的.考虑到webservice的跨系统,跨语言,跨网络的特性,下面写了一个实例来测试其跨语言的的特性 ...

  8. oracle创建包 和调用,oracle创建函数和调用存储过程和调用函数的例子(区别)...

    创建函数: 格式:create or replace function func(参数 参数类型) Return number Is Begin --------业务逻辑--------- End; ...

  9. 构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序

    构造函数.拷贝构造函数和析构函数的的调用时刻及调用顺序 对象是由"底层向上"开始构造的,当建立一个对象时,首先调用基类的构造函数,然后调用下一个派生类的构造函数,依次类推,直至到达 ...

最新文章

  1. spark 获取广播变量_Spark流式程序中广播变量和累加器为何使用单例模式
  2. python中if错误-Python中错误和异常
  3. 常用的 css 样式 记录
  4. 2017年秋季个人阅读计划
  5. Python字典的常用操作
  6. gPodder 3.4 发布,播客接收器
  7. hdu 1232 畅通工程
  8. [SDOI2015] 序列统计
  9. Sql Server 2000 挂起怎么办
  10. 电信天翼网关接不上服务器无信号咋小,天翼网关有wifi信号,但不能上网的问题汇总解答 看完就明白...
  11. java判断接口地址是否存在_java.util.Iterator接口中的hashNext()方法是用来判断集合中是否存在下一个元素的()_学小易找答案...
  12. linux 输入法成繁体字_寻找Ubuntu中繁体字输入法
  13. element环境插件
  14. 创建服务器站点的步骤,如何自己建立网站 基本步骤和流程有哪些
  15. element-ui更改图标icon大小
  16. WAP、触屏版网站及APP的区别
  17. 搬家后计算机总重启,电脑老是开机后不久(几分钟)自动重启,重启一两遍后就可以正常运行...
  18. 操作系统OS第一章练习作业【附答案详解】
  19. 【点击链接,自动下载安装APP,小米公司的坑】在浏览器中, 我们以为回退就能解决误点击。其实是不管用的。
  20. PlusFo小道消息独家报道,与黑子的争霸谁能更胜一筹

热门文章

  1. 计算机网络ospf实验报告,中山大学《计算机网络实验报告》10-OSPF实验.pdf
  2. OpenInfra Summit 2022 | 安超云用户脱颖而出 入围超级用户大奖
  3. 高仿蓝奏云盘下载页面源码
  4. 岩土工程、颗粒流计算软件PFC6.0疫情传播案例——生化危机、病毒传播感染、古尔丹大战霜狼氏族
  5. 1688搜索新品API接口-(按关键字搜索新品数据API接口)
  6. 12、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用 == 还是equals()? 它们有何区别?
  7. 【mysql的使用】
  8. Codeforces 844A
  9. 2020-09-19《GNU Radio软件无线电技术》白勇 胡驻华编著 笔记(1)
  10. 6-2 两个字符串穿插 (10 分) pta c语言