㈠ 这个程序是否合法 BCB下编译通过!求高人指教。 关于函数签名,始终搞不明白。
答不上啊
㈡ Borland C++ Builder 6.0的编译器可靠吗(前提:不是正版的BCB,网上Down的,大家懂得)
你确定你仅仅是注释掉了第三行就结果就显示为1了?
我想你不仅注释了第三行,还把sizeof(char)也修改了吧?
其实结果是4还是1与第三行没有关系,sizeof(char)表示char的大小,是1;sizeof(szRet)表示指针大小,是4。
㈢ 用QT可以编译BCB的工程吗,如果可以应该怎么用
肯定可以编译,QT3的时候我自己编译过。Borland的C++对标准支持的还是很好地,再说QT的代码没有像Loki那些新潮库使用了很多template代码,编译应该没有问题!
但是你都准备使用QT了,还要BCB干嘛,VS2008的编辑器不BCB好用太多,不用VCL就不用BCB吧!
㈣ Borland C++这个编译器就是BCB吗
BCB 是Borland C++ Builder的简称,Borland C++ Builder 是Borland公司98年推出的全新32位Windows开发工具。C++Builder 不仅继承了Delphi使用简便,功能强大,效率高等特点,而且它还结合C++语言所有优点。C++Builder可以说是至今最好的Windows开发工具。
上面的解释来自:http://..com/question/6347510.html
下面是我的看法
BCB也就是个普通的IDE,不见得就有多好,如果你在选择编C/C++用什么工具的话,建议你选择VC
=============================
补充,是的
PS:你是不是忘记采纳答案了?
㈤ 一段C语言在BCB中编译的代码,求解释
char buffer[1024] = {0}; //定义并赋初值为全0
#pragma resource "*.dfm" //资源定义在各个dfm为扩展名的文件中
TForm1 *Form1; //定义一个指向TForm1窗体对象的指针
(->) 仿问指针所指对象的元素的访问运算符,与点(.)相对应,就是一个减号加一个大于号连写在一起,使用类的指针,结构体指针和联合体指针,就经常会用到这个指向访问运算符啊,这个运算符可不是BCB特有的,是C语方和C++共有的,不认得它说明你C的基础不牢靠啊
#include <vcl.h> //包含头文件 vcl.h 它是什么库的头文件,我也不晓得咧
BCB与VC就所用的语言来讲都是标准的C/C++,没有区别,但是在资源的定义上,工程的处理上,窗体、资源与代码的关联上、集成环境的使用上都是完全不同的
BCB到6.0之后还有没有继续升级我不晓得,但是Bland公司已尼倒闭不再有后继支持了,若不是手头还有旧的BCB项目要继续维护话,新手是没有必要学习使用BCB来开发了,windows下的C/C++编程用VS20XX系列够用了,旧到VC6,新到VS2011,学习或开发都是可用的。
我最近五到六年里都一直只用VS2003(VC7.1),偶而也用BCB6.0(那是因为公司有一个旧项目是BCB开发的框架,做界面时是比VC7.1省事快捷此),在此之前,我还用了好多年的VC6和TC3.0呢,初学时我用的是TC2.0+DOS3.3/DOS6.22,现在我转行了,16位的32位和64位的都不做而改做8位的C51程序了,这是进化还是退化了呢? 呵呵,罗嗦太多了
㈥ VC 中如何使用 BCB 编译的库文件
在 Visual C++ 或者 Visual Studio 中, 是无法直接使用 BCB 工程编译产生的库文件的. 究其原因, 是由于微软 Visual C++ lib 文件格式与 BCB 工程的 lib 文件格式不同所导致. Lib 文件中存放的是动态链接库的接口信息, 而不会含有任何函数的内部实现细节. 因此, 我们可以直接通过 Dll 文件来反向生成特定格式的 lib 文件, 以便在 VC 和 BCB 中交叉使用各个编译的动态链接库.
以 MTK 平台的多路下载工具 SP_MDT 为例, 演示在 VC++ 中直接使用 BCB 编译的 lib 库的问题及解决方案. 我们以 Eboot 为例, 源代码目录下关于 Eboot 的文件有以下几个:
Eboot 头文件定义, 路径: SP_MDT_SRCEboot
Eboot lib 库文件, 路径: SP_MDT_SRCLib
Eboot 动态链接库文件, 路径: SP_MDT_SRCoutput
我们新建一个 VC++ MFC 工程, 将上述文件全部拷贝到 MFC 工程目录下, 同时在对话框中实现如下代码段:
#include "interface.h"ANDROID_DL_HANDLE_T handle;
Android_DL_Create(&handle);
此时, 编译工程会报出如下错误:
error LNK2019: 无法解析的外部符号 _Android_DL_Create@4
该符号在函数 "public: void __thiscall CLibDemoDlg::OnBnClickedOk(void)" 中被引用
原因在于我们仅仅包含了相应函数的头文件, 而并没有导入任何的函数实现(如 cpp 源文件或者 lib 库文件). 接下来, 我们尝试直接在 VC++ 中使用 BCB 编译生成的 lib 库文件, 加入以下代码:
#pragma comment(lib, "eboot.lib")
编译时报出如下错误:
eboot.lib : warning LNK4003: 无效的库格式; 已忽略库
显然, VC++ 并不能正确的识别 BCB 所生成的 lib 库文件. 那么如何解决这个问题呢? 一般来说有两种方法:
动态加载 dll 动态链接库
最直接的方法是, 既然有头文件, 那么就可以知道各个函数的定义, 而 dll 动态链接库则会将这些公开的函数导出. 因此, 可以直接调用 LoadLibrary 载入动态链接库, 并查找到相应的函数地址, 完成调用. 这种方法简单粗暴, 其好处是写出的源代码无论是在 BCB 还是在 VC++ 平台都能够通用. 但其缺点也很明显, 需要改写头文件, 定义各种各样的函数指针, 如果使用到的导出函数很多, 则工作量较大.