请问orgmode的代码块中, 如何能直接生成C语言的动态库文件?

打算用orgmode来进行C语言教学, 其中会涉及到一些动态库的使用说明, 在生成动态库的时候, 一直都不成功.

以下为示例代码, 目的就是将代码块的内容生成一个库文件, 存放在/tmp目录下, 尝试过好几次不同的exports results参数设置, 也都没有成功…

注:想到过一种笨方法, 就是在先tangle成一个文件, 再用shell代码块进行编译, 但感觉太麻烦.

#+begin_src C :cmdline gcc -shared -fPIC -o /tmp/libhello.so
#include <stdio.h>

// 示例函数,仅打印一条消息
void hello() {
    printf("Hello, dynamic library!\n");
}
#+end_src

把org文件里面的c代码提取出来,生成一个 tmp.c文件 ,然后原来是怎么生成c动态库文件的就怎么生成就行(命令行与编辑器无关),我从orgmode里提取代码块的脚本是用php写的,对其它人应该不太实用

1 个赞

There is no such feature in Org mode currently. It was once requested, but there was no interest. See [RFC/PATCH] naming src/bin files in ob-C.el - Leo Butler

So, you can only use bash blocks to compile manually.


目前Org模式中没有这样的功能。 曾经有人提出过,但没有人感兴趣。 请查看[RFC/PATCH] naming src/bin files in ob-C.el - Leo Butler 因此,您只能使用bash代码块手动编译。

1 个赞

感谢提供思路~

Thank you very much :+1: :+1: :+1: