进行平台调用时利用头文件的小技巧呢
民生舆情 2021-08-24 13:33 字号: 大 中 小
也难以出现缺货的现象。 我正好在做一个控件,其中需要引用WinXP自带的l,因为我想生成一个纯粹的C#程序,而不是利用Manage C++来成一个托管类的动态库来作为C#程序的基础,因此想到需要转换定义。
l共有47个命名函数,找到VC7(我使用VS2003)中的对应头文件UxTheme.h,在UltraEdit32这个工具中很方便地替换生成了C#进行平台调用的代码。问题是这些函数大都使用了一些常量定义,在VC7的头文件是Tmschema.h,而且它全部使用宏,KAO,如果要手工转的话,那是一件巨大的工作量。
我想到必须要有一个C/C++头文件宏扩展工具,在上找了一下,没有找到。不过也还是找到了一个解决办法。以VC7为例,首先建一个最简单的项目——控件台应用,因为它没有多余的东东。然后将你不需要的全部删掉,看下图
其中p只有最简单的代码
#include \"11.h\"
#using l
using namespace System;
int _tmain()
{
return 0;
}
而11.h则更简单,只有一句,它包括你需要扩展的头文件
#include tmschema.h
这样一个相当简单的C++程序就完成了。接下来我们需要的只是设置一下这个项目的编译属性。你需要找到C/C++属性里的预编译头设置如下图设定就可以了
然后生成这个项目,找到以.i结尾的文件,是不是一个完整的已扩展的C++代码出来了,下面的你只需要用查找替换工具,很容易就以转成C#定义了。最后,需要注意的时,尽量去掉不必要的头文件,以减小生成尺寸。
乌鲁木齐前列腺炎哪家好贵阳治疗卵巢炎哪家好
四川成都治疗肝硬化
-
-
借助现阶段利好政策万宁将打造高端滨海度假
借助现阶段利好政策 万宁将打造高端滨海度假旅游基地借助现...
2020-08-13 | 民生舆情
-
-
埃梅里厄齐尔除了助攻还得进球欧联杯我要轮
埃梅里:厄齐尔除了助攻还得进球 欧联杯我要轮换埃梅里赛后...
2020-07-04 | 民生舆情
-
-
詹皇抠门那是詹韦秀恩爱NBA最抠门其实是搭配
詹皇抠门?那是詹韦秀恩爱 NBA最抠门其实是他邦纳 北...
2020-06-02 | 民生舆情
-
-
取关门主角松口表态想续约难道他真的长大了搭配
取关门主角松口表态想续约!难道他真的长大了考神最终会续...
2020-05-31 | 民生舆情
-
-
张世敏到我区调研社区建设
张世敏到我区调研社区建设8月30日,副市长张世敏到我区调研...
2019-07-16 | 民生舆情
-
-
港口区假日旅游市场繁荣
港口区假日旅游市场繁荣4月29日至5月1日,港口区天气晴好,...
2019-07-16 | 民生舆情