Org-mode 文学编程

想玩一下文学编程,我把c语言的.h和.c文件放在了不同的代码块里了。请问一下该怎么运行啊? 假如我想把整个org文档里的代码提取出来该怎么做啊?

M-x org-bable-tangle

关于文学编程,可以看看

2 个赞

太帅了,非常有用。 谢谢。

还有个问题,代码提取出来以后默认它会给每一个代码块加一个main函数,这个要怎么取消啊。

加上:main no参数的代码块可以不被放在main函数里面。比如这个org:

* 1
:PROPERTIES:
:tangle: 1.cpp
:END:

#+begin_src cpp :main no :includes <iostream>
int main {
  std::cout << "hello world" << std::endl;
#+end_src

#+begin_src cpp :main no
  std::cout << "hello org" << std::endl;
}
#+end_src

导出之后是:

#include <iostream>





int main {
  std::cout << "hello world" << std::endl;

std::cout << "hello org" << std::endl;
}

在这个地方有说明:

http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-C-new.html

好的,非常感谢

再请教一下,假如我c-c c-c 运行的时候,我想从命令行传一个参数进去该怎么办?

用cmdline

#+header: :cmdline "hello"
#+begin_src cpp :tangle yes :main no :includes <iostream>
  int main(int argc, char *argv[])
  {
    std::cout << argv[0] << " " << argv[1] << std::endl;
  }
#+end_src

#+RESULTS:
: c:/Users/WWWLSM~1/AppData/Local/Temp/babel-11636-ic/C-bin-11636bwA.exe hello

我说的这些那个网址里面都有的,去看看就知道了

好的,谢谢。

不好意思,又来请教了。 假如提取代码的时候不想提取注释,该怎么设置啊?你说的那个网址我去看过啦,很不错。非常感谢。

二楼给的那个网址里面有的,你看看就知道了