compilation相关内容

Angular AOT 和 JIT 编译器有什么区别

我正在深入研究 angular 4,并试图了解编译.我读过 AOT 和 JIT 都将 TypeScript 编译为 JavaScript,无论是在服务器端还是在客户端.如果我在使用 Webpack 构建它时编译它并发出咕噜声并部署那个缩小的 javascript,那么 AOT 和 JIT 怎么会出现在画面中? 解决方案 我读过 AOT 和 JIT 都将 TypeScript 编译为 J ..
发布时间:2022-01-04 21:38:13 其他开发

C 编译:collect2:错误:ld 返回 1 个退出状态

我试图在网上搜索那个错误,但所有的帖子都是针对 C++ 的. 这是消息: test1.o: 在函数‘ReadDictionary’中:/home/johnny/Desktop/haggai/test1.c:13:对“CreateDictionary"的未定义引用collect2:错误:ld 返回 1 个退出状态制作:*** [test1] 错误 1 代码超级简单,看不懂是什么问题 #i ..
发布时间:2022-01-04 21:37:28 其他开发

为什么内联被认为比函数调用更快?

现在,我知道这是因为没有调用函数的开销,但是调用函数的开销真的那么重(值得内联它的膨胀)? 据我所知,当一个函数被调用时,比如说 f(x,y),x 和 y 被压入堆栈,堆栈指针跳转到一个空块,并开始执行.我知道这有点过于简单化了,但我是否遗漏了什么?几推一跳调用一个函数,真的有那么多开销吗? 如果我忘记了什么,请告诉我,谢谢! 解决方案 除了没有调用(因此没有相关费用,例如调用 ..
发布时间:2022-01-04 21:37:01 C/C++开发

目标文件包含什么?

在 C 或 C++ 编译的各个阶段,我知道生成了一个目标文件(即 any_name.o 文件).这个 .o 文件包含什么?我无法打开它,因为它是一个二进制文件. 有人可以帮我吗?目标文件的内容是否主要取决于我们在 Unix 上使用的编译器? 解决方案 对象文件可以包含一堆东西:基本上是下面的部分或全部列表: 符号名称 编译代码 常量数据,例如.字符串 导入 - 编译后的代 ..
发布时间:2022-01-04 21:36:54 C/C++开发

为什么需要为每个操作系统重新编译 C/C++?

这更像是一个理论问题.我是 Comp sci 专业,对低级编程非常感兴趣.我喜欢了解引擎盖下的工作原理.我的专长是编译器设计. 无论如何,当我正在开发我的第一个编译器时,我遇到了一些令人困惑的事情. 当您使用 C/C++ 编写程序时,人们通常知道的是,编译器会神奇地将您的 C/C++ 代码转换为该机器的本机代码. 但有些东西在这里并没有增加.如果我针对 x86 架构编译我的 C/ ..
发布时间:2022-01-04 21:36:45 C/C++开发

在 Windows x64 上编译 Python 模块

我正在开始一些文字处理项目,我需要 NumPy 和 NLTK.那是我第一次了解easy_install以及如何将python的新模块编译到系统中. 我有 Python 2.7 x64 加上 VS 11 和 VS 12.还有 Cygwin(我猜是最新的).我可以在使用 VS 编译的文件中看到它寻找与编译 python 代码版本相同的 VS env,为什么?当我对我的版本 11.0 进行硬编码时 ..
发布时间:2022-01-04 21:36:36 Python

如何确定 C++ 编译器的默认 C++ 标准是什么?

经常提到应该使用-std标志来指定编译C++程序时希望使用的标准(例如,-std=c++11 或 -std=gnu++11).通常未解决的相关问题(至少据我所知;例如,请参见 theDennis 在 Oskar N 所选答案下的高度赞成的评论.) 是如何确定编译器使用的默认 C++ 标准是什么. 我相信可以通过查看手册页(至少对于 g++)来判断,但我想问这是否正确,以及是否有更明确/具体的 ..
发布时间:2022-01-04 21:36:27 C/C++开发

为什么不在编译前连接 C 源文件?

我有脚本编写背景,C 语言的预处理器在我看来总是很丑陋.尽管如此,当我学习编写小型 C 程序时,我还是接受了它.我只是真正使用预处理器来包含我为自己的函数编写的标准库和头文件. 我的问题是,为什么 C 程序员不直接跳过所有包含,而是简单地连接他们的 C 源文件然后编译它?如果您将所有包含的内容放在一个地方,那么您只需定义一次您需要的内容,而不是在您的所有源文件中. 这是我所描述的一个例 ..
发布时间:2022-01-04 21:36:17 其他开发

模板:使用前向声明来减少编译时间?

我必须处理一个由许多模板化类组成的库,这些类当然都是在头文件中实现的.现在我正试图找到一种方法来减少无法忍受的长编译时间,因为我几乎必须在我的每个编译单元中都包含整个库. 尽管有模板,是否可以使用前向声明?我正在尝试按照以下示例的方式进行操作,我试图绕过 #include ,作为示例,但它给了我一个链接器错误,因为 push_back 未定义. #include 命名空间标 ..
发布时间:2022-01-04 21:35:56 C/C++开发

在开发过程中调试 Firefox 插件的最快方法

调试 Firefox 插件是一个缓慢的过程:(1) 在 JS 编辑器中编辑源代码 (2) 使用构建脚本打包成 XPI (3) 拖入 Firefox 进行安装 (4) 重新启动 Firefox (5) 打开JavaScript 调试器 我们可以加快进程吗?喜欢在不重启的情况下将其安装到 Firefox 中,还是配置构建脚本以将其安装到 Firefox 中? 解决方案 您需要找到您的 个 ..
发布时间:2022-01-04 21:35:46 其他开发

如何将 PyQt 脚本 (.py) 编译为 Windows (.exe) 和/或 linux 的单个独立可执行文件?

我开始摆弄 PyQt,并从 pyqt 白皮书示例应用程序 (pastebin) 它在 Windows 和 Linux 上都能完美运行(两者都已经安装了 qt 环境). 现在我的问题是:由于我尝试使用 Qt,因为它是经过编译的(至少是纯旧的基于 C++ 的 Qt),我如何编译一些 .exe 文件以在 Windows 上运行它,或者在 Linux 上运行一个独立的可执行文件. 关键是 ..
发布时间:2022-01-04 21:35:35 Python

MinGW 错误:不存在这样的文件或目录

我在 Windows XP SP3 上运行 MinGW.我用 C++ 编写了一个简单的程序并将其保存为 .cpp 文件.当我尝试在正确目录下的 MinGW 中编译它时,出现一条消息说“错误:不存在这样的文件或目录"但我知道它在正确的目录中. 这是我在 MinGW 中输入的内容 cd C:\MinGW test # 我保存 .cpp 文件的位置g++ test.cpp -o test.exe ..
发布时间:2022-01-04 21:35:17 C/C++开发

fopen$UNIX2003 在外部库中失败

我有一个外部静态库(我也有源代码),它使用“fopen"来访问文件系统上的文件.奇怪的是,当它尝试使用 fopen$UNIX2003 内的 EXE_BAD_ACCESS(不在 fopen, 当抛出异常时,fopen 甚至不在调用堆栈中.我尝试直接使用 fopen 自己使用相同的路径/选项并且它有效.所以,首先,库是否有可能以某种方式调用不同的 fopen 实现?如果是这样,为什么,最重要的是如何让 ..
发布时间:2022-01-04 21:35:07 移动开发

静态链接到 LAPACK

我正在尝试发布一些软件,目前正在编写构建过程的脚本.我被困在我从未想过的事情上,在 x86_64 linux 上静态链接 LAPACK.在配置期间 AC_SEARCH_LIB([main],[lapack]) 有效,但 lapack 单元的编译不起作用,例如 undefiend 引用 'dsyev_' --no lapack/blas 例程不被注意. 我已经确认我已经安装了这些库,甚至我自己 ..
发布时间:2022-01-04 21:34:58 其他开发

从标准库重新定义函数

上下文:在最近的对话中,问题“gcc/clang 在编译时执行 strlen("static string") 吗?上来了.经过一些测试,无论优化水平如何,答案似乎都是肯定的.看到这甚至在 -O0 完成我有点惊讶,所以我做了一些测试,最终得到了以下代码: #include unsigned long strlen(const char* s) {返回 10;}无符号长 f() {返回 strle ..
发布时间:2022-01-04 21:34:48 其他开发