草庐IT

compilation-old

全部标签

compiler-construction - 从编译器的角度来看,Expression、Statements 和 Declaration 有什么区别?

我正在here查看ast.go的Go源代码,并且有3种类型的接口(interface),分别是Expression,Statement和Declaration。但仅通过源代码我无法弄清楚它们之间的区别。我能弄清楚的是表达式产生一个可以分配或比较或用作参数的对象,而语句是一些流程控制,如if-else或for循环。但我发现了一些定义,比如//AnIncDecStmtnoderepresentsanincrementordecrementstatement.IncDecStmtstruct{XExprTokPostoken.Pos//positionofTokToktoken.Token/

go - 导入路径差使用 "build"和 "tool compile"

我正在尝试编译这个example(在当前工作目录中保存为main.go):packagemainimport("flag""log""runtime""github.com/nats-io/go-nats")//restofthecode这个有效:$gobuild./但这不是:$gotoolcompile-omain.omain.gomain.go:8:2:can'tfindimport:"github.com/nats-io/go-nats"上面的两个例子都是在同一个终端上运行的,具有相同的环境变量,所以我不明白为什么第二个例子不起作用。我已经尝试使用-D和-I参数以及各种目录作为$

git - windows : git has old github username, 无法更改 git 用户

我有2个github帐户,旧的和新的。当我在新的上checkout一个repo时,我无法提交它,因为它说我的旧github用户没有被授权。假设我的旧github帐户用户名是旧的,电子邮件是old@old.com假设我的新github帐户用户名是新的,电子邮件是new@new.com旧的github帐户没有关联的SSHkey。新帐户有我的sshkey。当我使用Windows时,sshkey是一场噩梦,因为putty/pagent使用ppk格式,但gitbash使用的openssh使用rsa。前段时间,我设法将我的ppk转换为rsa,并将其放入我的Windows用户.ssh目录中。我这样做

git - 如何从 Git 的未暂存更改中删除显示 "old mode 100755 new mode 100644"的文件?

出于某种原因,当我最初为我的一个git项目从存储库中pull数据时,我的工作副本中有大量文件没有进行明显的更改,但一直显示在我的unstagedchanges区域中。我在Windowsxp上使用GitGui,当我去查看文件以查看发生了什么变化时。我只看到:oldmode100755newmode100644谁知道这是什么意思?如何从我的未暂存更改列表中获取这些文件?(不得不浏览100个文件非常烦人,只是为了挑选出我最近编辑过并想要提交的文件)。 最佳答案 对我来说这看起来像unix文件权限模式(755=rwxr-xr-x,644=r

linux - autoconf 在 Linux Mint 上提示 "C compiler cannot create executables"

我正在尝试在32位和64位安装上安装LinuxMint16'petra'。我的电脑没有互联网连接,因此必须手动安装所有附加软件。作为一名开发人员,我认为我会尝试使用wxWidgets安装代码块,因此请按照以下位置的说明进行操作:http://wiki.codeblocks.org/index.php?ti为了执行安装,我似乎需要先决条件,所以请按照在上找到的说明进行操作https://developer.gnome.org/gtk3/stable...lding.html下载glib'stuff',解压并运行配置。正是在这一点上,事情失败了。我在终端中收到一条消息,指出C编译器无法创建

Linux Yum 致命 Python 错误 : pycurl: libcurl link-time version is older than compile-time version

所以这个错误让我发疯,我在网上搜索了很多次,运行了一些东西但没有结果。使用yum时出现以下错误。[root@texaspycurl-7.19.0]#yumupdateFatalPythonerror:pycurl:libcurllink-timeversionisolderthancompile-timeversionAborted[root@texaspycurl-7.19.0]#rpm-qa|greppycurlpython-pycurl-7.19.0-8.el6.i686[root@texaspycurl-7.19.0]#rpm-qa|grepcurlcurl-7.19.7-26

配置 : error: cannot run C compiled programs

我正在尝试使用DebianWheezyOS在我的RaspberryPi上安装不同的软件。当我运行尝试配置我正在尝试安装的软件时,我得到了这个输出checkingforCcompilerdefaultoutputfilename...a.outcheckingforsuffixofexecutables...checkingwhetherwearecrosscompiling...configure:error:in'directoryofwhereI'minstallingthesoftware'configure:error:cannotrunCcompiledprograms.If

linux - mmap() : resetting old memory to a zero'd non-resident state

我正在编写内存分配例程,目前运行顺利。我使用4096字节页面中的mmap()从操作系统获取内存。当我启动我的内存分配器时,我使用mmap()分配了1gig的虚拟地址空间,然后随着分配的进行,我根据我的分配算法的细节将它分成block。我觉得一时兴起分配多达1gig的内存是安全的,因为我知道mmap()实际上不会将页面放入物理内存,直到我实际写入它们。现在,使用我的分配器的程序可能会突然需要大量内存,在这种情况下,操作系统最终必须将整个1gig的页面放入物理RAM中。问题是程序可能会进入休眠期,释放大部分1gig,然后只使用最少的内存。然而,我在分配器的MyFree()函数中真正做的就是

c++ - Qt 造物主/Linux : setting compiler/linker option -ldl for dynamic libraries

我都被谷歌搜索出来了!感谢任何可以帮助我的人......我已经构建了test.so并希望使用dlfcn.h中定义的dlopen()、dlsym()等动态调用它我可以编译我在命令行上调用的程序(main.cpp)没有错误g++main.cpp-ldl-omyprog没有-ldl开关,我得到错误:undefinedreferencedlopen()。另外,如果-ldl开关没有放在g++参数列表中的源文件之后,那么我会得到同样的错误。我的问题是:如何在QtCreator中编译我的main.cpp?QtCreator报同样的错误:undefinedreferencedlopen()我试过直接将

linux - 配置 : error: no acceptable C compiler found in $PATH

我正在尝试构建和安装ApacheThrift编译器和库我必须输入指令中显示的这个命令./configure&&make但是我得到这个错误:checkingforgcc...nocheckingforcc...nocheckingforcl.exe...noconfigure:error:in`/PATH/TO/thrift-0.9.3':configure:error:noacceptableCcompilerfoundin$PATH当我输入命令提示符时gcc--version我明白了海湾合作委员会(海湾合作委员会)5.3.0版权所有(C)2015FreeSoftwareFoundat