2013-04-26 17 views
9

kurulum için xcode bir c11 iplik örneği çalışıyorum ... ama burada anlatılan makro hakkında complaning olmasa da o, threads.h başlığa sahip görünmemektedir:
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdfçınlama c11 threads.h bulunamadı

uygulama <threads.h> başlık desteklemediği belirtmesi amaçlanmıştır 1 sabit __STDC_NO_THREADS__The tamsayıdır. Neredeyse hiçbir şey ipler belki clang içine almaya çalışacağım ... C11 özelliği destekler gibi

showing dialect showing error

+1

o 'threads.h' dosyası bulamadık benziyor #include <thread> istiyorum. ben o klasörü kontrol ve threads.h' olan 'olmadığını görmek gerektiğini tahmin __STDC_NO_THREADS__ makro 1 –

+1

aslında orada ve eğer öyleyse, derleyicinin buna erişimi olup olmadığını görün. –

+0

değilse C11 içinde startdard kütüphanenin parçası olması gerekiyordu o :) bana da neye benzediğini olduğunu –

cevap

1

benim makinede clang ile

+0

farklı bir üzerine inşa etmeye istekli olup olmadığını basit olabilir C kütüphanesi. Son zamanlarda musl'a baktım (http://www.musl-libc.org/) ve böyle bir görev yapılabiliyor gibi görünüyor. POSIX'in etrafındaki bir ambalajla tatmin olursanız, P99'um (p99.gforge.inria.fr) yeterli olabilir. –

+0

şimdiye (şimdi olacak) ... Bu olması gereken her türlü alternatifleri bakmadıysanız glibc/gcc/çınlama sonunda ... onlar desteklenir POSIX dişler için sadece bir sarıcı ise ... o zaman Bence bu yeterli olur. –

1

... Görünüşe (v Sınama makro özelliği olan 3.2 ubuntu/linux üzerinde tanımlı değil. Bu özellik için destek, genellikle derleyici ile gelmeyen C kütüphanesinde desteğe ihtiyaç duyacaktır. Yani temelde clang cevabı genellikle yani glibc, here for answer for gcc bkz aynı C kütüphanesinde üzerine inşa gcc için çok farklı olmayacaktır.

-15

C++ 11 yılında, değil threads.h

#include <iostream> 
#include <thread> 

void fun() { std::cout << "fun!" << std::endl; } 

int main() { 
    std::thread t (fun); 
    t.join(); 
    return 0; 
} 
+2

true, bu özellikle daha az hipotlu C11 hakkında –