在使用unix时,有人可以告诉我如何在c ++中激活RTTI.我听说它可以被禁用和启用.在我的unix环境中,我如何检查RTTI是启用还是禁用?
我aCC
在HPUX上使用编译器.
我仍然在努力编译一个C控制台应用程序,编译过程仍然失败,错误如下:
"Main.c", line 51: error #2040: expected an identifier
extern "C" void TreatReceivedSignal( int NoSignal ) ;
^
1 error detected in the compilation of "Main.c".
gmake: *** [Main.o] Error 2
Run Code Online (Sandbox Code Playgroud)
下面是C代码上extern方法的声明:
extern "C" void TreatReceivedSignal( int NoSignal ) ;
Run Code Online (Sandbox Code Playgroud)
我正在使用HP-UX aCC编译器[HP C/aC++ B3910B A.06.26],我也打开了编译标志-Ae以启用C99支持.似乎编译器无法将'extern"C"'识别为C保留字,可能需要设置其他一些编译标志.请问有什么可以解决这类问题吗?非常感谢你提前.问候
我很惊讶,包括stdint.h工作,但不包括cstdint.
$ aCC sizeof.cpp
"sizeof.cpp", line 5: error #2005-D: could not open source file "cstdint"
#include <cstdint>
^
1 error detected in the compilation of "sizeof.cpp".
$ aCC --version
aCC: HP C/aC++ B3910B A.06.12 [Nov 03 2006]
Run Code Online (Sandbox Code Playgroud)
它与g ++相同:
$ g++ --version
g++ (GCC) 4.2.3
Run Code Online (Sandbox Code Playgroud)
我可以问为什么?并且,有任何方法来解决这个问题,但更新编译器?谢谢.
所以我为我的主用户帐户安装了 python,但我需要使用一个干净的帐户来制作一些视频。有没有办法重新分配我当前的 Python 安装以及所有已安装的软件包,以便我的 Windows 10 计算机上的所有用户都可以使用?
我有一个奇怪的问题,
声明一个静态成员变量,其名称为A类中的B类。并在cpp文件中初始化。但是从未调用过B类的构造函数。我尝试使用一些小型测试,可以正常调用测试构造函数。所以这对于我们的生产系统来说很奇怪。
在hpp中这样的代码:
class Test
{
public:
Test()
{
ofstream file("/tmp/wup.txt",ios::app);
file << "wup in test" << endl;
file.close();
}
};
//## An extended personality
class TsdNAExtPersonality : public TsdNAPersonality{
public:
TsdNAExtPersonality(
s_gg62_personRec * gg62Header,
TsdNAFunctionType requiredFunctionType);
private:
static Test test;
public:
TsdNAExtPersonality( string * personalityFile, TsdNAFunctionType requiredFunctionType);
};
Run Code Online (Sandbox Code Playgroud)
在另一个cpp文件中,我使用
Test TsdNAExtPersonality::test;
Run Code Online (Sandbox Code Playgroud)
我尝试了几种方法,但是我发现所有方法都没有用。
环境是HP-UX,编译是aCC
所以我的问题是:
是否有任何编译选项会影响变量?换句话说,所有静态变量都不会被初始化。
从C ++标准开始,应该在加载库时调用它,对吗?
我使用相同的方式放置了另一个静态int值,可以对其进行初始化。但是类的构造函数没有被调用,很奇怪。
我的代码有什么错误吗?
我是C++编程的新手.所以我试着运行一些小程序.我正在使用HP-UX,它有一个编译器,其可执行文件名为aCC.
我正在尝试执行一个小程序
#include <iostream.h>
using namespace std;
class myclass {
public:
int i, j, k;
};
int main()
{
myclass a, b;
a.i = 100;
a.j = 4;
a.k = a.i * a.j;
b.k = 12;
cout << a.k << " " << b.k;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我编译它时它给了我一个错误:
> aCC temp.cpp
Error 697: "temp.cpp", line 2 # Only namespace names are valid here.
using namespace std;
^^^
Run Code Online (Sandbox Code Playgroud)
究竟是什么问题?是std
不是aCC编译器中的命名空间或者aCC有一些严重的缺点?
如果我更改<iostream.h>
为<iostream>
,我会收到更多错误,如下所示.
>aCC …
Run Code Online (Sandbox Code Playgroud) 我在HPUX C程序中看到以下代码:
extern int fcntl __((int, int, ...));
_LF_EXTERN int creat __((const char *, mode_t));
Run Code Online (Sandbox Code Playgroud)
这些行使用aCC编译.
可能有人让我知道的2个下划线后的意义fcntl
,并creat
在上面的代码?