标签: compilation

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

是否有用于JavaScript的本机机器代码编译器?我不是在谈论VM.如果它不存在可以做到吗?
我想知道它是否可以编译为二进制,因为语言的动态性质.

javascript native compilation native-code

42
推荐指数
3
解决办法
2万
查看次数

静态编译Python解释器?

我正在构建一个特殊用途的嵌入式Python解释器,并希望避免依赖于动态库,因此我想用静态库编译解释器(例如,libc.a不是libc.so).

我还想静态链接属于Python标准库的所有动态库.我知道这可以使用Freeze.py,但有没有替代方案可以一步完成?

c c++ python compilation

42
推荐指数
3
解决办法
2万
查看次数

使用javax.tools.JavaCompiler在内存中完全编译代码

我正在使用javax.tools包(JDK 1.7)中的JavaCompiler来动态编译一些东西,如下所示:

compiler.run(null, null, "-cp", paths, "path/to/my/file.java");
Run Code Online (Sandbox Code Playgroud)

它可以工作,但我想在内存中完成所有操作(例如,传递带代码的字符串,而不是源文件,并获取字节代码而不是.class文件).我发现扩展InputStreamOutputStream参数是没有用的,因为它可能与控制台中的相同.你知道一种让run方法像这样工作的方法吗?或者您是否知道使用该getTask()方法确认的方法?(扩展FileManager看起来很简单但不是那么容易:)

java compilation javac java-compiler-api

42
推荐指数
4
解决办法
3万
查看次数

aidl缺少android工作室

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)

android compilation aidl

42
推荐指数
4
解决办法
6万
查看次数

字符数组/字符串如何存储在二进制文件中?

当我使用不同的编译器编译此代码并检查十六进制编辑器中的输出时,我希望在某处找到字符串“Nancy”。

#include <stdio.h>

int main()
{
    char temp[6] = "Nancy";
    printf("%s", temp);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)
  1. 的输出文件gcc -o main main.c如下所示:

    自卫队

  2. 的输出g++ -o main main.c,我无法在任何地方找到“Nancy”。

  3. 在 Visual Studio (MSVC 1929) 中编译相同的代码,我在十六进制编辑器中看到完整的字符串:

为什么(1)中的字符串中间会出现一些随机字节?

c string gcc compilation hex-editors

42
推荐指数
3
解决办法
3808
查看次数

了解STG

GHC的设计基于一种名为STG的东西,它代表"无骨架,无标签G机".

现在G-machine显然是"图形缩减机"的缩写,它定义了如何实现懒惰.未评估的thunk被存储为表达式树,并且执行该程序涉及这些减少到正常形式.(是非循环图,但Haskell的普遍递归意味着Haskell表达式形成一般,因此图减少而不是树减少.)

不太清楚的是术语"无骨"和"无标记".

  1. 认为 "无脊椎"指的是功能应用程序没有功能应用程序节点的"脊椎"这一事实.相反,您有一个对象,该对象命名所调用的函数并指向其所有参数.那是对的吗?

  2. 我认为"无标签"指的是构造函数节点没有用构造函数ID"标记",而是使用跳转指令解析case-expression.但现在我不确定这是否正确.相反,它似乎指的是节点没有用其评估状态标记的事实.谁能澄清这些解释中哪些(如果有的话)是正确的?

haskell bytecode compilation ghc intermediate-language

41
推荐指数
2
解决办法
7901
查看次数

架构x86_64的未定义符号:编译问题

所以我想开始一项任务,我的教授给我们一个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)

c++ symbols compilation undefined hyperlink

41
推荐指数
1
解决办法
17万
查看次数

你如何减少编译时间和链接Visual C++项目(原生C++)的时间?

你如何减少VC++项目(原生C++)的编译时间和链接时间?

请指定每个建议是否适用于调试,发布或两者.

c++ compilation visual-c++

40
推荐指数
8
解决办法
2万
查看次数

C/C++标题和实现文件:它们如何工作?

可能是一个愚蠢的问题,但我现在在网上和网上搜索了很长一段时间并且无法得出一个明确的答案(我的尽职调查谷歌搜索).

所以我是编程的新手......我的问题是,主函数如何知道不同文件中的函数定义(实现)?

恩.说我有3个文件

  • main.cpp中
  • myfunction.cpp
  • myfunction.hpp

//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)

-

我得到预处理器如何包含头代码,但是头和主函数如何知道函数定义是否存在,更不用说它了?

如果不清楚或者我对这里的新事物有很大误解,我会道歉

c++ compilation header-files

40
推荐指数
3
解决办法
2万
查看次数

在Android工作室中集成第三方库的最佳方式

我们可以为android找到一些非常好的开源库.我想知道在Android Studio中将它们集成到我们自己的项目中的最佳方法是什么.以下是一些基本方法:

  • 将源代码和资源文件复制到我们自己的项目中.我们需要更改很多代码(包名称和xml中的名称等)
  • 如果提供了jar文件,我只为我的项目创建libs文件夹并复制里面的jar文件.并在模块设置的依赖项中添加jar文件.但不幸的是,我收到了很多错误消息,例如"Gradle:Package com.google.gson不存在".

是否有将第三方源文件或jar文件添加到现有android工作室项目的一般规则?谢谢

android compilation android-studio

40
推荐指数
2
解决办法
6万
查看次数