如何在C中编写跨平台并行程序?
问题描述:
我正在使用一种编程语言。目前它编译为C.我希望能够在本地语言中包含并行编程工具,以便利用多个内核。有没有办法编写跨平台的并行C程序?我宁愿坚持直C,以最大限度地提高语言编译平台的数量。如何在C中编写跨平台并行程序?
答
“直C”没有线程的概念,所以我怕你的运气了。您需要找到某种跨平台的支持线程库,或者将一个端口用于您想要使用的各种平台。我猜,pthreads是最好的开始。
答
glib库(从GTK项目)有许多有用的跨平台服务,包括线程。
这是我最初的倾向,但Pthreads似乎在Windows上不完全支持。我实际上没有在Windows上试用它(我没有Windows盒子来试用它!),所以这可能需要进一步调查。 – kerkeslager 2010-07-13 16:59:53
有一个pthreads for windows的版本,http://sourceware.org/pthreads-win32/ – Hasturkun 2010-07-13 17:13:08
Pthreads也是编写并行程序的一个非常糟糕的方法。它为错误和性能缺陷提供了无数的机会。它代码的可组合性失败,除非正在编写的作品构造得非常仔细。 – Novelocrat 2010-08-02 13:41:08