compiler-construction相关内容

检查字符串内容?字符串长度与空字符串

对于编译器和检查字符串是否为空的最佳实践,哪个更有效? 检查字符串的长度是否== 0 检查字符串是否为空(strVar == "") 另外,答案是否取决于语言? 解决方案 是的,这取决于语言,因为不同语言的字符串存储不同. Pascal 类型字符串:Length = 0. C 风格的字符串:[0] == 0. .NET:.IsNullOrEmpty. 等等. ..

流行的 C++ 编译器对 std::sort 和 std::stable_sort 使用什么算法?

流行的 C++ 编译器对 std::sort 和 std::stable_sort 使用什么算法?我知道标准只给出了某些性能要求,但我想知道流行的实现在实践中使用了哪些算法. 如果它引用每个实现的参考,答案会更有用. 解决方案 首先:编译器不提供std::sort的任何实现.虽然传统上每个编译器都预先打包了一个标准库实现(它严重依赖于编译器的内置),但理论上您可以将一个实现换成另一个 ..

为什么我没有收到有关未初始化的只读字段的警告?

如果您忘记初始化私有或内部的只读成员,或者声明它的类是内部的,C# 编译器会很友好地给您一个“字段从未分配给"警告.但是如果类是公共的,而只读成员是公共的、受保护的或受保护的内部的,那么就不会给你任何警告! 有人知道为什么吗? 演示发出警告的条件和不发出警告的条件的示例代码: 命名空间 Test1{类测试1{#if TRY_IT公共只读 int m;//OK: 警告 CS0649: ..
发布时间:2022-01-17 08:55:00 C#/.NET

Java 5 中的动态编译选项

除了 Janino 之外,还有其他选项可用于在 v5 中即时编译和执行 Java 代码吗?我知道 v6 有 Compiler API,但我需要使用 v5 VM. 我基本上需要获取一个包含完整 Java 类的字符串,对其进行编译并将其加载到内存中. 解决方案 你想要的是 Janino.我们已经使用了多年.你给它(接近标准的)代码,它给你类,所以你可以使用它们.它实际上有很多不同的模式, ..
发布时间:2022-01-17 08:54:53 Java开发

更新到 iPhone SDK 4.0 后,链接器错误(仅模拟器)与自己的库

我最近更新到 iPhone SDK 4.0 并且不再能够为 iPhone 模拟器构建我的项目.问题是 ld 无法再找到我自己的一个库的类: “_OBJC_CLASS_$_Book",引用自:Category.o 中的 objc-class-ref-to-Book(也许你的意思是:...)ld:未找到符号collect2: ld 返回 1 个退出状态 我已经阅读了一些关于类似问题的其他帖子,例如 ..
发布时间:2022-01-17 08:54:45 移动开发

从 Microsoft .net 调用 mono c# 代码?

我有一些用 c# 编写的神经网络代码,可以从使用 SIMD 支持.Mono 2.2 刚出来支持 SIMD 但微软的 c#还不支持这个.对我的 c# 设置感到满意,我想知道是否可以为该片段编写一个单声道库并从 .net 调用它. 编辑:我想我真正想知道的是是否可以将 mono 编译成类似于 DLL 的东西然后我可以从 dotnet 调用.我在 podcast 说对于 iphone,mono 编 ..
发布时间:2022-01-17 08:54:40 C#/.NET

Java是否优化了2的幂除以移位?

Java 编译器或 JIT 编译器是否将除法或乘法优化为 2 的恒定幂以进行位移? 例如,以下两个语句是否优化为相同? int 中位数 = start + (end - start)>>>1个;int 中位数 = 开始 + (结束 - 开始)/2; (基本上 这个问题但对于 Java) 解决方案 不,Java 编译器不这样做,因为它无法确定 (end - start) 的标志是什 ..
发布时间:2022-01-17 08:54:31 Java开发

如果条件可以为空

Nullable 有很多语法糖,比如: int?解析为 Nullable诠释?x = 空if (x != null)//解析为 if (x.HasValue)x = 56;//解析为 x.Value = 56; 还有更多. 为什么带有 Nullable 的 if 条件不起作用? if (x){} 编译器错误提示无法将 Nullable 转换为 bool. ..
发布时间:2022-01-17 08:54:18 C#/.NET

在Android中编译java文件后的注释会发生什么?

Android 编译器是如何工作的?编译时会去掉 Java 代码和 Android XML 文件中的注释吗? 解决方案 Java 文件中的注释在编译成类文件时会被删除或忽略.类文件不是供人类阅读的——它们经过优化以在虚拟机上高效运行.如果要保留注释,它们只会导致类文件大于所需的大小,并且没有额外的好处(即编译器和虚拟机不理解注释,所以为什么要包含它们) 对于 XML 文件,通常会保留 ..
发布时间:2022-01-17 08:54:04 Java开发

从 a.out 文件中提取全局变量

编辑(更新问题) 我有一个简单的 C 程序: //知道代码是什么并不重要,你可以跳过代码 ma​​in.c #include 无符号整数 AppCtr;无符号字符 AppFlag;诠释 SOME_LARGE_VARIABLE;静态无效应用程序测试(无效);无效主要(无效){AppCtr = 0;应用标志 = 0;应用测试();}静态无效Foo(无效){SOME_LARGE ..
发布时间:2022-01-17 08:53:58 其他开发

为什么编译器提供默认的复制构造函数

我想知道为什么编译器提供默认的复制构造函数.这个想法背后的策略是什么. 提前致谢. 解决方案 来自一个相关(但不相同)的问题 - 为什么 C++ 编译器不定义 operator== 和 operator!=?: Stroustrup 在“The Design and Evolution of C++"(第 11.4.1 节 - 复制控制)中谈到了默认的复制构造函数: 我个 ..
发布时间:2022-01-17 08:53:51 C/C++开发

免费的 AOT Java 编译器

有人知道一些免费的 AOT Java 编译器吗?我只找到了一个 - http://gcc.gnu.org/java/. 解决方案 https://www.excelsiorjet.com/ 截至目前,完全支持Java SE 8,标准版免费(但仅支持32位Windows和Linux) ..
发布时间:2022-01-17 08:53:25 Java开发

如何使用 GCC 编译器强制执行 struct 位顺序?

我想知道是否有 GCC C 编译器指令允许我确定结构打包的位顺序?喜欢的东西: #pragma bit_order left 这种需求的基本原理是我有以下结构: 结构{联合{无符号字符字节;结构{无符号字符 B0: 1;无符号字符 B1: 1;无符号字符 B2:1;无符号字符 B3:1;无符号字符 B4:4;}少量;}物品;} 我的结构; 有了这个结构,我希望编译器这样打包: 位顺序:| ..
发布时间:2022-01-17 08:53:16 其他开发

在.net 中编译成.exe 的评论?

我知道您可以使用 .net 反射器来查看使用 .net 创建的代码,但如果我在评论中添加了一些内容以供我个人提醒,那也是在 exe 中编译的. 我不打算发布我的应用程序的源代码,而且我知道 100% 安全的赌注是删除我不想删除的所有内容,但我只是想知道是否有人可以对我的评论进行逆向工程. 解决方案 编译器会忽略注释.它们不会被放入输出可执行文件中. ..
发布时间:2022-01-17 08:53:02 C#/.NET

使用语法导向的翻译方案将整数转换为罗马数字?

Dragon Book 包含一个使用语法指导的翻译方案将整数转换为罗马数字的练习. 如何完成? 解决方案 我会考虑从右到左解析. 首先,我将映射单位列: 0 ->''1 ->'一世'2 ->'二'3 ->'三'4 ->'四'...9 ->'九' 然后,如果有第二列(例如右数第二列 = 十列),我将使用它映射到 0 ->''1 ->'X'2 ->'XX'...9 ->'XC ..

在没有makefile的情况下使用make命令?

我正在为一个作业编译一些 C 代码并运行“make codeFile",其中“codeFile"是我的 C 程序的名称,即使我没有 makefile,也创建了一个可执行文件,并且它运行正常. 有人知道为什么会这样吗?为什么即使我没有makefile,make 也会编译一些东西?我能找到的唯一参考是:http://daly.axiom-developer.org/TimothyDaly_fil ..
发布时间:2022-01-17 08:52:33 其他开发