是否有用于JavaScript的本机机器代码编译器?我不是在谈论VM.如果它不存在可以做到吗?
我想知道它是否可以编译为二进制,因为语言的动态性质.
我正在构建一个特殊用途的嵌入式Python解释器,并希望避免依赖于动态库,因此我想用静态库编译解释器(例如,libc.a不是libc.so).
我还想静态链接属于Python标准库的所有动态库.我知道这可以使用Freeze.py,但有没有替代方案可以一步完成?
我正在使用javax.tools包(JDK 1.7)中的JavaCompiler来动态编译一些东西,如下所示:
compiler.run(null, null, "-cp", paths, "path/to/my/file.java");
Run Code Online (Sandbox Code Playgroud)
它可以工作,但我想在内存中完成所有操作(例如,传递带代码的字符串,而不是源文件,并获取字节代码而不是.class文件).我发现扩展InputStream和OutputStream参数是没有用的,因为它可能与控制台中的相同.你知道一种让run方法像这样工作的方法吗?或者您是否知道使用该getTask()方法确认的方法?(扩展FileManager看起来很简单但不是那么容易:)
Environment:
Mac OS 10.10.3
Android studio:1.2.11
grandle:2.2.1
Run Code Online (Sandbox Code Playgroud)
日志:
Information:Gradle tasks [:generateDebugSources, :generateDebugTestSources]
:preBuild
:preDebugBuild
:checkDebugManifest
:prepareDebugDependencies
:compileDebugAidl FAILED
Error:Execution failed for task ':compileDebugAidl'.
> aidl is missing
Run Code Online (Sandbox Code Playgroud)
// Top-level build file where you can add configuration options common to all sub-projects/modules.
import org.gradle.internal.os.OperatingSystem
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
}
}
allprojects {
repositories {
jcenter()
}
}
String SDK_DIR = System.getenv("ANDROID_HOME")
if(SDK_DIR == null) {
Properties props = new Properties()
props.load(new FileInputStream(project.rootProject.file("local.properties")))
SDK_DIR = …Run Code Online (Sandbox Code Playgroud) 当我使用不同的编译器编译此代码并检查十六进制编辑器中的输出时,我希望在某处找到字符串“Nancy”。
#include <stdio.h>
int main()
{
char temp[6] = "Nancy";
printf("%s", temp);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
的输出文件gcc -o main main.c如下所示:
的输出g++ -o main main.c,我无法在任何地方找到“Nancy”。
在 Visual Studio (MSVC 1929) 中编译相同的代码,我在十六进制编辑器中看到完整的字符串:
为什么(1)中的字符串中间会出现一些随机字节?
GHC的设计基于一种名为STG的东西,它代表"无骨架,无标签G机".
现在G-machine显然是"图形缩减机"的缩写,它定义了如何实现懒惰.未评估的thunk被存储为表达式树,并且执行该程序涉及将这些减少到正常形式.(树是非循环图,但Haskell的普遍递归意味着Haskell表达式形成一般图,因此图减少而不是树减少.)
不太清楚的是术语"无骨"和"无标记".
我认为 "无脊椎"指的是功能应用程序没有功能应用程序节点的"脊椎"这一事实.相反,您有一个对象,该对象命名所调用的函数并指向其所有参数.那是对的吗?
我认为"无标签"指的是构造函数节点没有用构造函数ID"标记",而是使用跳转指令解析case-expression.但现在我不确定这是否正确.相反,它似乎指的是节点没有用其评估状态标记的事实.谁能澄清这些解释中哪些(如果有的话)是正确的?
所以我想开始一项任务,我的教授给我们一个Main.cpp,Main.h,Scanner.cpp,Scanner.h和其他一些实用工具.
我的工作是创建一个Similarity类来使用余弦和Jaccard系数比较文档.但是,我似乎无法正确链接项目,因此我无法启动实际代码.
经过几个小时的努力,看看我做错了什么,我需要新鲜的眼睛看看我做错了什么,我怀疑这是显而易见的.
这是Main.cpp
#include "Main.h"
using namespace std;
static const string TAG = "Main: ";
int main(int argc, char *argv[])
{
string inStreamName;
string logStreamName;
string outStreamName;
ofstream outStream;
string timeCallOutput;
Scanner inStream;
Similarity similarity;
///////////////////////////////////////////////////////////////
// Boilerplate for naming files and opening files
Utils::CheckArgs(3, argc, argv, "infilename outfilename logfilename");
outStreamName = static_cast<string>(argv[2]);
logStreamName = static_cast<string>(argv[3]);
Utils::FileOpen(outStream, outStreamName);
Utils::LogFileOpen(logStreamName);
timeCallOutput = Utils::timecall("beginning");
Utils::logStream << timeCallOutput << endl;
Utils::logStream << TAG << "Beginning execution" << endl;
Utils::logStream << TAG << …Run Code Online (Sandbox Code Playgroud) 你如何减少VC++项目(原生C++)的编译时间和链接时间?
请指定每个建议是否适用于调试,发布或两者.
这可能是一个愚蠢的问题,但我现在在网上和网上搜索了很长一段时间并且无法得出一个明确的答案(我的尽职调查谷歌搜索).
所以我是编程的新手......我的问题是,主函数如何知道不同文件中的函数定义(实现)?
恩.说我有3个文件
//main.cpp
#include "myfunction.hpp"
int main() {
int A = myfunction( 12 );
...
}
Run Code Online (Sandbox Code Playgroud)
-
//myfunction.cpp
#include "myfunction.hpp"
int myfunction( int x ) {
return x * x;
}
Run Code Online (Sandbox Code Playgroud)
-
//myfunction.hpp
int myfunction( int x );
Run Code Online (Sandbox Code Playgroud)
-
我得到预处理器如何包含头代码,但是头和主函数如何知道函数定义是否存在,更不用说它了?
如果不清楚或者我对这里的新事物有很大误解,我会道歉
我们可以为android找到一些非常好的开源库.我想知道在Android Studio中将它们集成到我们自己的项目中的最佳方法是什么.以下是一些基本方法:
是否有将第三方源文件或jar文件添加到现有android工作室项目的一般规则?谢谢
compilation ×10
c++ ×4
android ×2
c ×2
aidl ×1
bytecode ×1
gcc ×1
ghc ×1
haskell ×1
header-files ×1
hex-editors ×1
hyperlink ×1
java ×1
javac ×1
javascript ×1
native ×1
native-code ×1
python ×1
string ×1
symbols ×1
undefined ×1
visual-c++ ×1