有什么方法可以在 Julia 中明确要求(例如在模块或包中)必须声明类型 ?例如或是否支持此类检查?更广泛地说,Julia 标准发行版本身是否提供任何可以帮助检查此要求的静态代码分析器或等效物? PackageCompilerLint.jl
作为一个激励示例,假设我们希望确保不断增长的生产代码库只接受始终声明为类型的代码,前提是具有类型声明的大型代码库往往更易于维护。
如果我们想强制执行该条件,Julia 在其标准发行版中是否提供任何机制来要求类型声明或帮助推进该目标?(例如,任何可以通过短绒、提交钩子或等价物检查的东西?)
如何从Java 5和Java 6中的任意字符串(在内存中)编译java代码,加载它并在其上运行特定方法(预定义)?
在你点燃之前,我查看了现有的实现:
我确信之前已经解决了这个问题,但我找不到任何看起来甚至是谷歌半生产质量的东西(除了jci,正如我之前所说,我还没有设法使用).
编辑:
Edit2:现在,我对BeanShell"评估"感到满意.显然它完成了我需要的所有东西(获取一个字符串,在'当前'类路径的上下文中评估它.它确实错过了一些Java 5特性,但它可以使用枚举(不定义)和编译'泛型'(擦除) )类,所以它应该足够我想要的.
我不想将答案标记为已接受,因为我希望有更好的解决方案出现.
Edit3:接受了beanshell建议 - 它真的很棒.
java compiler-construction runtime compilation runtime-compilation
我将为拥有WinXP机器的客户端编写一个小型桌面应用程序,他们不会安装.NET框架(至少不适合我).
所以我的选择仅限于C++或VB6,两者都不是很好.我记得当时Mono想出了一个静态编译器,但最近我唯一能找到的就是Miguel de Icaza为了在iPhone上运行应用程序而在游戏引擎上进行静态编译 - 不是我的考虑到了.
有没有任何产品,免费或商业,允许我静态编译我的.net 3.5 winform应用程序?
谢谢
我在xcode中构建了几个C++文件,需要大量内存才能编译(+ 1 GB /文件).因为我在双核笔记本电脑上执行此操作,xcode使用2个线程进行构建.这两个线程最终将构建同时占用大量内存的文件,因此系统遭受内存不足,编译即将停止.
对我来说一个充分的解决方案是强制Xcode只使用一个构建线程.有没有人知道改变Xcode使用的构建线程数的方法?
对于那些感兴趣的人,C++文件包含一个相当大的boost :: spirit :: qi解析器.
我目前正在忙于一个项目,我需要使用外部附件来阅读Mifare 1k标签.
附件提供了一个SDK,用(Objective?)C++编写,我按照提供的指令将XCode设置为"Compile sources as:Objective-C++",并在"Other linkers flags"中添加"-Obj-C++".
SDK编译好了,但麻烦的是我已经在项目中使用了几个库(例如ASIHTTPRequest,JSONKit,...),并且因为这些库中的那些新设置而导致编译问题.如果我切换回以前的设置,我会在阅读器的SDK中遇到编译问题
问题是:有没有办法只从SDK中编译类作为C++,而项目的其余部分作为objective-c?
编辑: SDK文件仅包含.h(和链接库)
谢谢你的帮助,迈克
xcode compilation objective-c conditional-compilation objective-c++
我最近发布了一个关于由于C++中的虚拟性导致的内存开销的问题.答案让我了解vtable和vptr的工作原理.我的问题如下:我在超级计算机上工作,我有数十亿个对象,因此我不得不关心由于虚拟性造成的内存开销.经过一些测量,当我使用具有虚函数的类时,每个派生对象都有其8字节的vptr.这根本不可忽视.
我想知道intel icpc或g ++是否有一些配置/选项/参数,使用"全局"vtable和可调精度的索引而不是vptr.因为这样的事情将允许我使用2字节索引(unsigned short int)而不是8字节vptr用于数十亿个对象(并且很好地减少了内存开销).有没有办法用编译选项做到这一点(或类似的东西)?
非常感谢你.
例如,关于Single Responsibility原则:
我们来谈谈一Radio堂课:

有人可能会说,Radio班级有两个职责,即音量和电台管理.这些操作将使用它从客户端的完全不同的区域调用.
因此我们有这个:

一切都很好.
但我总是看到这样的句子:
所以现在,当我们需要改变,这取决于损坏的元件上的所有代码并不甚至需要重新编译.
等一下 !
如果我需要更改VolumeManager 类 - 我将不必重新编译Radio和StationManager.
但是我必须停止(在web中)iis以便应用程序使用新的DLL,它将导致应用程序关闭.
此外,在console,我将不得不终止整个程序,以便更改dll,因为它被进程锁定(你不能在应用程序运行时更改DLL - 文件被锁定)
即使我将使用GAC - 我将不得不停止该程序,以便使用dll.
那么它能拯救我什么?编译就是 - 右键单击并构建.就这样
我没有看到提到的好处:" 你只需要编译破碎的类...... "
我错过了什么?
http://www.gontu.org/solid-single-responsibility-principle/寻找单词" build"
http://epic.tesio.it/doc/manual/solid_principles.html寻找单词" recompiled"
http://www.dananhudson.com/?tag=solid寻找单词" recompile"
我正在尝试在C#中编写一个函数,该函数接收包含typescript代码的字符串并返回包含JavaScript代码的字符串.这有库函数吗?
我使用Python的几个版本我的电脑上:2.6.6,2.7.6和2.7.9.当我用boost-python编译Boost时,我必须让Python在参数中使用.如果我想要兼容性,我是否要为每个Python版本编译Boost?(这是非常巨大的!)或者有没有办法只使用一个Boost版本和几个python版本?
将Servo作为二进制文件的一部分嵌入时,我遇到了很长的连续构建时间.例如,使用本教程嵌入Servo,在初始构建完成后,对我的代码的任何修改都需要40s +来重建第4代四核i7上的二进制文件:
以下是Cargo的样本输出:
? cargo build
Finished dev [unoptimized + debuginfo] target(s) in 0.1 secs
? touch src/main.rs
? cargo build
Compiling servo-embedding-example v0.1.0
Finished dev [unoptimized + debuginfo] target(s) in 57.9 secs
Run Code Online (Sandbox Code Playgroud)
我正在运行一个最近的夜间工具链:
? rustc --version
rustc 1.25.0-nightly (15a1e2844 2018-01-20)
? cargo --version
cargo 0.26.0-nightly (6a8eb71f6 2018-01-13)
Run Code Online (Sandbox Code Playgroud)
增量构建正在进行:
? echo $CARGO_INCREMENTAL
1
Run Code Online (Sandbox Code Playgroud)
我不打算经常更新伺服,但我需要它我的应用程序.有没有办法加快构建时间?
compilation ×10
c# ×2
c++ ×2
xcode ×2
.net ×1
.net-3.5 ×1
boost ×1
boost-python ×1
build ×1
building ×1
g++ ×1
intel ×1
java ×1
julia ×1
linker ×1
lint ×1
objective-c ×1
python ×1
runtime ×1
rust ×1
rust-cargo ×1
static ×1
tsc ×1
typescript ×1
vptr ×1