首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

zig cc是否公开链接器(ld)?

zig cc是一个开源的C语言编译器,它是Zig编程语言的一部分。Zig是一种现代化、安全、高效的系统编程语言,旨在替代C语言。Zig cc提供了一个命令行接口,可以将Zig源代码编译为可执行文件或库。

在Zig中,链接器(ld)是一个独立的工具,它负责将编译后的目标文件和库文件链接在一起,生成最终的可执行文件或库。与其他编程语言不同,Zig cc并没有直接集成链接器功能,而是依赖于系统上已经安装的链接器。

因此,zig cc并没有公开链接器(ld)的链接地址。在使用zig cc编译Zig源代码时,它会自动调用系统上的链接器进行链接操作。具体来说,它会根据操作系统的不同,调用相应的默认链接器,如GNU ld(Linux)、lld(FreeBSD)、link.exe(Windows)等。

总结起来,zig cc并没有公开链接器(ld)的链接地址,它依赖于系统上已安装的链接器来完成链接操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 编程语言Zig有什么与众不同的

    编程语言专家曾对 Zig 编程语言的创造者 Andrew Kelley 说,在编译时运行代码是个蠢主意。尽管如此,Kelley 还是去实现了这个想法,而多年以后,这个蠢主意已经成为了 Zig 的招牌。这一特征在 Zig 中用关键字 comptime 标识,代表需要在编译时运行的代码或者是需要的变量。Zig 可以在编译时运行代码的能力让开发者们可以在不明确任何泛型或模板支撑的情况下,编写通用代码或是进行元编程。让我们来通过代码例子更直观地了解编译时运行是什么意思,以及其为什么重要。以这段简单的函数为例,在 a 和 b 两个数之间取最大值。不使用泛型或 comptime 代码的话,我们就需要将这个函数的具体变量类型写死,比如这里用的 Zig 中 32 位整数 i32 。

    02

    Linux上编译hadoop-2.7.1的libhdfs.so和libhdfs.a

    hadoop提供了CMake来编译libhdfs,因此在编译之前需要先安装好CMake工具。 然后进入libhdfs的源代码目录,如:/data/hadoop-2.7.1-src/hadoop-hdfs-project/hadoop-hdfs/src 执行cmake以生成Makefile文件(假设jdk的安装目录为/data/jdk1.7.0_55): cmake -DGENERATED_JAVAH=/data/jdk1.7.0_55 -DJAVA_HOME=/data/jdk1.7.0_55 . 成功之后,会在目录下生成Makefile文件,接下来就可以执行make编译生成libhdfs.so和libhdfs.a了。 如果遇到下面这样的错误: /data/jdk1.7.0_55/jre/lib/amd64/server/libjvm.so: file not recognized: File format not recognized 则需要考虑升级链接器ld,参考说明:http://blog.chinaunix.net/uid-20682147-id-4239779.html。 ld是GNU binutils的成员,可以从http://ftp.gnu.org/gnu/binutils/下载到新的版本。 注意在升级gcc和ld之后,需要更新下环境变量PATH,再重执行cmake,否则可能引用的仍然是老版本的gcc和ld。 /data/hadoop-2.7.1-src/hadoop-hdfs-project/hadoop-hdfs/src # cmake -DGENERATED_JAVAH=/data/java_1_7 -DJAVA_HOME=/data/java_1_7 -- The C compiler identification is GNU 4.1.2 -- The CXX compiler identification is GNU 4.1.2 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done JAVA_HOME=/data/java_1_7, JAVA_JVM_LIBRARY=/data/java_1_7/jre/lib/amd64/server/libjvm.so JAVA_INCLUDE_PATH=/data/java_1_7/include, JAVA_INCLUDE_PATH2=/data/java_1_7/include/linux Located all JNI components successfully. -- Performing Test HAVE_BETTER_TLS -- Performing Test HAVE_BETTER_TLS - Success -- Performing Test HAVE_INTEL_SSE_INTRINSICS -- Performing Test HAVE_INTEL_SSE_INTRINSICS - Success -- Looking for dlopen in dl -- Looking for dlopen in dl - found -- Found JNI: /data/java_1_7/jre/lib/amd64/libjawt.so   -- Found PkgConfig: /usr/bin/pkg-config (found version "0.20")  -- checking for module 'fuse' --   package 'fuse' not found

    02
    领券