gpt4 book ai didi

c - 使用来自非 C 程序的 C 库 : is it necessary to explicitely initialize the "under-the-hood" C library?

转载 作者:太空狗 更新时间:2023-10-29 15:39:11 24 4
gpt4 key购买 nike

我知道当你编译和链接一个 C 程序时,你将它链接到

  1. C 库
  2. C 运行时启动代码

我想知道我是否编写了一个程序(用一种新语言,或者只是 C 而没有链接到这段代码)并将它直接链接到一个 C 代码共享库(比如 zlib 或 gsl 或 fftw 或其他东西)并省略 C 库和 C 启动代码(假设我的程序将使用它的魔法加载外部库本身),这会“正常工作”吗?

我知道在 CRT 启动时有一些初始化代码,所以我想知道如何在我的应用程序本身不依赖于 C 库的情况下调用所需的函数:因此加载外部 C 库将在此时调用必要的初始化代码(如果有的话,这就是问题所在),否则只需加载操作系统库/接口(interface)。

我问的原因是我想编写一种带有标准库的语言,它直接挂接到操作系统 API,这与大多数构建在 C 库之上的 C++ 实现不同。

最佳答案

看这里https://blogs.oracle.com/ksplice/entry/hello_from_a_libc_free
因此,您可以在不依赖任何包含 libc 的库的情况下启动您的程序,然后可以根据需要加载和使用库。

关于c - 使用来自非 C 程序的 C 库 : is it necessary to explicitely initialize the "under-the-hood" C library?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10929870/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com