Tag: 编译

C中的头文件和源文件如何工作?

我已经仔细阅读了可能的重复内容,但是没有一个答案是没有的。 tl; dr: C中的源文件和头文件是如何相关的? 项目在构build时隐式地清理声明/定义依赖项吗? 我想了解编译器如何理解 .c和.h文件之间的关系。 鉴于这些文件: header.h : int returnSeven(void); source.c : int returnSeven(void){ return 7; } main.c : #include <stdio.h> #include <stdlib.h> #include "header.h" int main(void){ printf("%d", returnSeven()); return 0; } 这个混乱会编译? 我目前正在使用Cygwin中的gcc来完成我在NetBeans 7.0中的工作,它可以自动执行许多构build任务。 当一个项目被编译时,涉及到的项目文件会根据header.h的声明,将这个隐含的source.c整理出来。

是否有JavaScript的本地机器代码编译器?

是否有JavaScript的本地机器代码编译器? 我不是在谈论虚拟机。 如果不存在可以这样做吗? 我想知道是否可以编译为二进制由于语言的dynamic性质。

你如何从Xcode中导出完成的应用程序?

我不好意思问这个,我觉得很愚蠢。 我有一个应用程序,我想发送一个testing在他们的机器上的testing点,但我不知道如何让Xcode产生一个.app文件发送给他们。 帮帮我?

我如何运行Java .class文件?

我编译了一个HelloWorld程序,并使用命令提示符来运行它。 .class文件名为HelloWorld2.class 该文件位于C:\ Users \ Matt \ workspace \ HelloWorld2 \ bin下面是我进入命令提示符时input“Java HelloWorld2”: C:\Users\Matt>Java HelloWorld2 Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld2 Caused by: java.lang.ClassNotFoundException: HelloWorld2 at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) Could not find the main class: HelloWorld2. Program will exit. 我期待看到一个HelloWorld打印出来。 我究竟做错了什么? […]

如何从terminal调用文本编辑器?

在Windows命令提示符中,我可以键入notepad helloworld.cpp ,然后创build一个名为helloworld的.cpp文件,并为我打开记事本。 Mac Terminal有没有类似的function,最好用Textmate或Textedit? 我使用Xcode开发人员工具运行Mac OS X Lion 10.7。

指向方法的返回types的“预期types”错误

我试图编译,但每次我做,一个方法抛出一个奇怪的“预期types”的错误。 我在头上有一个方法: -(ANObject *)generateSomethingForSomethingElse:(NSString *)somethingElse; 这个方法的返回types的错误点。 我已经使用#import "ANObject.h" ANObject导入ANObject和ANObject编译罚款.. 为什么发生这种情况?

什么是一个目标文件包含?

在C或C ++编译的各个阶段,我知道生成了一个目标文件(即any_name.o文件)。 这个.o文件包含什么? 我无法打开它,因为它是一个二进制文件。 有谁能帮我吗? 目标文件的内容主要依赖于我们在Unix上使用的编译器吗?

Microsoft Visual C ++编译器为Python 3.4

我知道有一个“用于Python 2.7的Microsoft Visual C ++编译器”,但是目前还是计划,Python 3.4的Microsoft Visual C ++编译器还是针对Python 3.x的Microsoft Visual C ++编译器? 如果我不必在整个实验室安装不同版本的视觉工作室,这将是非常有益的。

如何在Windows或Linux下编译Qt 5,32或64位,VS2010,VS2012,VS2013或VS2015 Express或g ++上的静态或dynamic

只是一个post,以帮助那些试图做到这一点,因为我没有博客。 这也适用于Linux。 随意编辑并改进它。

将所有代码放在C ++头文件中的优点和缺点?

您可以构造一个C ++程序,以便(几乎)所有的代码都驻留在头文件中。 它本质上看起来像一个C#或Java程序。 但是,编译时,至less需要一个.cpp文件来引入所有头文件。 现在我知道有些人会绝对厌恶这个想法。 但我还没有发现这样做的任何令人信服的缺点。 我可以列举一些优点: [1]更快的编译时间。 所有的头文件只被parsing一次,因为只有一个.cpp文件。 此外,一个头文件不能被包含超过一次,否则你将得到一个生成中断。 当使用替代方法时,还有其他方法可以实现更快的编译,但是这非常简单。 [2]它通过使它们绝对清楚,避免循环依赖。 如果ClassA.h中的ClassA对ClassA.h中的ClassB具有循环依赖关系,那么我必须提供一个前向引用。 (请注意,这不像C#和Java,编译器自动解决循环依赖,这鼓励了错误的编码实践IMO)。 同样,如果你的代码是在.cpp文件中,你可以避免循环依赖,但是在真实世界的项目中, .cpp文件往往会包含随机的头文件,直到找不到谁依赖于谁。 你的想法?