是不是vc的dll,只要转化出c++builder的lib,c++builder就可以调用dll了
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是不是vc的dll,只要转化出c++builder的lib,c++builder就可以调用dll了相关的知识,希望对你有一定的参考价值。
参考技术A vc创建标准dll的时候,会自动生成lib和dll文件。调用方式不管是bldc++还是vc++ 还是vb等调用都可以通过动态加载的方式加载。另外 c++可以用过引用header和引用lib文件进行使用dll。换句话说,不使用lib,可以加载,使用lib也可以加载追问
我现在想静态调用呢
追答已经解释过,静态调用引用lib即可.
#include "xxxx.h"
#pragma comment(lib,"xxxxx.lib");
引用lib后就可以调用dll
vc的lib跟cbc的兼容?
追答编写windows程序是的。bc和vc只不过编辑器和编译器不同,仅此而已。
追问vc封装的库bcb是不可以直接静态调用的,他们封装的方式不同
追答那就 coff2omf -lib:st 转一下呗
追问转过了,还是不行,有没有什么情况转不成功的?所以我才问是不是只要转换出C++builder的lib就可以调用的
追答是extern c declspec dllexport 格式?
追问嗯
追答我了个去,dumpbin看一下,如果都正常的话我也不知道怎么个情况了。
vc中怎样把数字转化为字符串
//DH用于保存星期几第几节课。
//这地方有问题
//CString DH = "0000";
想在程序中实现,DH字符串的OXOX的x分别代表星期几和第几节课。
现在已经在int D中保存了星期几,在char nu中保存了第几节课。
应该怎样实现添加到DH中?
各位大侠多多帮助。不怎么懂,先给30分吧!
(1)CString DH;
DH.Format("0%d0%c",D,nu);
调试下,保存的不是预期想要的 0&0* 24位置是乱码
(2)//DH.SetAt(0,'0');
//DH.SetAt(1,char(D+48));
//DH.SetAt(2,'0');
// DH.SetAt(3,nu);
也不行
用itoa
用 法:char *itoa(int value, char *string, int radix);
详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.
参数:
value: 待转化的整数。
radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。
* string: 保存转换后得到的字符串。
返回值:
char * : 指向生成的字符串, 同*string。
备注:该函数的头文件是"stdlib.h" 参考技术B DH.Format(_T("0%d0%c"),d,nu);这样子试试看!~
我这边调试不是乱码啊?并且值也正确。我用的是VS2005本回答被提问者采纳
以上是关于是不是vc的dll,只要转化出c++builder的lib,c++builder就可以调用dll了的主要内容,如果未能解决你的问题,请参考以下文章
c++builder怎么像vc++一样在一个工程里面添加.c和.h文件
如何在我的 C# Visual Studio 项目中添加 VC++ DLL 作为引用?
为啥我在visual studio 2008 VC++中运行一个Win32控制台应用程序后,弹出一个“没有找到MSVCP90D.dll”?