所以,我怎么能叫,在我的代码的可执行文件?
最简单的方法是使用system()
。例如,如果可执行文件被称为工具,那么:
system("tool");
但是,这种技术有很多注意事项。这个调用只是要求操作系统做些事情,但每个操作系统都可以理解或回答相同的命令。
例如:
system("pause");
...将工作在Windows中,停止exectuion,而不是在其他操作系统。此外,有关文件路径内部空间的规则也是不同的。最后,即使分隔栏也可以不同(仅适用于Windows)。
而且可我还利用其它功能/目的/班...从C++ ,并通过这个呼叫技术,我的C++代码使用它们?
不是。如果你想使用别人创建的类或函数,你将不得不为他们获取源代码并用你的程序进行编译。如果源代码足够小,这可能是最简单的方法之一。
很多时候,人们创建库,这是非常有用的类和/或功能的集合。如果库以二进制形式分发,那么您需要dll文件(或其他操作系统的等效文件)以及描述库中提供的类和函数的头文件。对于C++程序员来说,这是一个令人沮丧的源泉,因为即使在同一个操作系统中使用不同编译器创建的库可能也是不兼容的。这就是为什么很多时候库以源代码形式分发的原因,以及如前所述的一系列指令(makefile或更糟糕的)在单个文件中获取二进制版本以及头文件。
这是因为C++标准并不低层次的东西,一个编译器内发生。有许多实现细节可供编译器供应商随意使用,以达到更好的性能。这不幸意味着很难分发一个简单的库。
你的意思是像'exec *'函数? – Shahbaz
您对可执行文件的第一个问题听起来像使用'exec'或'system'。第二个是关于[库](http://en.wikipedia.org/wiki/Library_(computing)#Shared_libraries)。 – birryree