草庐IT

Construction

全部标签

compiler-construction - Go1 编译器是如何工作的?

我已经为一个学校项目涉足Go大约一个月了,我注意到src/pkg/go文件夹中的go/ast、go/token、go/parser等包。然而,gc编译器基于位于src/cmd/gc中的C文件。我的问题是关于Go1中用于构建和运行程序的新go命令:该工具是否依赖于我在上面引用的包?即,如果我向/go/token/token.go添加了一个新的token,它会被新的go编译器识别吗? 最佳答案 Go编译器是纯C语言编写的,不使用go/下的包。在Go源代码树中,它的词法分析器位于src/cmd/gc/lex.c,而它的Bison语法是sr

java - 在主节点 : Failed construction of Regionserver : java.net.BindException

我有一个4节点集群(hadoop2.5.2)(Hbase1.0.0),主机上有一个主节点(作为从节点)和3个从节点。调用start-hbase.sh后,jps没有显示HRegionServer进程在master上运行,但在所有三个slave上运行正常。master上的日志文件显示:java.lang.RuntimeException:FailedconstructionofRegionserver:classorg.apache.hadoop.hbase.regionserver.HRegionServeratorg.apache.hadoop.hbase.regionserver.H

java.lang.RuntimeException : Failed construction of Master: class org. apache.hadoop.hbase.master.HMaster

当我启动-hbase.shHMaster和HregionServer正在启动,但一段时间后不可见。通过查看日志,我发现了这一点。HMaster:java.lang.RuntimeException:FailedconstructionofMaster:classorg.apache.hadoop.hbase.master.HMasteratorg.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:3150)atorg.apache.hadoop.hbase.master.HMasterCommandLine.

c++ - 返回 C++17 可变参数模板的可变参数聚合(结构)和语法 'construction deduction guide'

使用模板结构,例如下面的many,可以返回一组固定的可能不可移动的对象,并使用c++17结构化绑定(bind)(auto[a,b,c]=f();声明变量a、b和c并从分配它们的值f返回例如结构或元组)。templatestructmany{T1a;T2b;T3c;};//guide:templatemany(T1,T2,T3)->many;autof(){returnmany{string(),5.7,unmovable()};};intmain(){auto[x,y,z]=f();}如这两个问题和答案中所述(Dostd::tupleandstd::pairsupportaggrega

c++ - Clang 问题 : implicit type conversion at construction time

概要我正在努力使C++11代码与Clang兼容,并遇到了GCC>=4.6接受代码而Clang>=3.1不接受的情况。Clang认为候选构造函数不可行。详情这里是一个精简的例子来说明这个问题:#includetemplatestructT;templatestructT{typedefTsuper;constexprT(){}templateT(Args&&...){}};templatestructT:T{typedefTsuper;Headhead;T(Headarg):super(),head(std::move(arg)){}};structvoid_type{constexpr

objective-c - swift 错误 : 'manager()' is unavailable: use object construction 'AFHTTPRequestOperationManager()'

我有这个快速代码,我认为它应该可以工作,但它不能处理objective-c静态字段。我尝试在多个地方添加“()”,但没有任何效果。funcAFHTTPRequestOperationManagerDispatchOnMainQueue(mainQueue:Bool)->AFHTTPRequestOperationManager{varmanager=AFHTTPRequestOperationManager.managermanager.responseSerializer=AFJSONResponseSerializer(readingOptions:NSJSONReadingOpt

compiler-construction - 不同的 JDK 更新会产生不同的 Java 字节码吗?

假设场景:我有一个项目,其源代码合规性级别指定为1.5。现在,我使用两个不同的JDK编译该项目:首先使用JDK6Update7,然后使用JDK6Update20。这两个不同的JDK是否会产生不同的Java字节码,尽管它们只是更新版本不同? 最佳答案 生成的代码通常只在编译器错误修复时有所不同。但是,JLS不指定从源代码到生成的字节码的1:1映射,因此您不应依赖生成的完全相同的字节码。 关于compiler-construction-不同的JDK更新会产生不同的Java字节码吗?,我们在S

python - 内部类 : How can I get the outer-class object at construction time?

考虑以下Python(在2.x或3.x中运行):classOuter(object):passclassInner(object):def__init__(self):print("Inner.self",self)o=Outer()i=o.Inner()我想在Inner.__init__()中接触到o。但是:我不希望o成为Inner的显式参数。我希望O.Inner和o.Inner成为一个类对象,而不是像闭包那样奇怪的东西。你能建议我如何实现这一目标吗?目前我最好的想法是使用线程本地存储。在我的用例中,每当我构造一个o.Inner()时,我已经在某个地方的o上的方法中,这没什么大不了的

if-statement - 使用 if-construction with cypher/aes 返回不一致的 Go 错误

我看到奇怪的行为,我应该从函数返回错误,但我得到的却是nil。以下代码块包含2个使用cypher/aes的加密函数。唯一的区别是每个函数的前1/2行。在encrypt2中,我将encrypt1第一行的赋值合并到条件中。packagemainimport("crypto/aes""crypto/cipher""crypto/rand""fmt""io")funcmain(){invalidKey:=[]byte("TCbKgXZsT")plaintext:=[]byte("dummycontenttoenctrypt")fmt.Println(encrypt1(plaintext,inv

compiler-construction - 在 Windows 中编译 Go 文件?

我正在尝试学习Go并安装了GoMinGW但我无法找到如何在任何地方实际编译.go文件。这是直接从Windows支持的Gowiki链接的程序,但所有教程都在谈论使用6g和gccgo等进行编译,但这些都不能在我的Windows机器上运行。 最佳答案 我很笨,链接的文件是32位的,我使用“6g”进行编译,因为我的系统是64位的。"8g"可以编译。“8gmyfile.go”"8lmyfile.8"“我的文件.out”努力让它运行。 关于compiler-construction-在Windows