Какой из языков семейства C имеет препроцессор? - PullRequest
3 голосов
/ 23 мая 2010

Среди языков синтаксиса C ( C , C ++, Java, C #, ObjC, JS, AS, ...), которые имеют совместимый препроцессорв какой степени) с препроцессором C ?

Ответы [ 3 ]

3 голосов
/ 23 мая 2010

Objective C является надмножеством языка C и изначально был реализован как дополнительный препроцессор для кода C. Он полностью совместим с препроцессором C.

Ни у кого из перечисленных вами препроцессоров нет совместимых со спецификацией C. Имейте в виду, что препроцессоры во многих случаях специфичны для ассемблера / компилятора, и искомая функциональность может быть или не быть найдена в различных проприетарных IDE / компиляторах.

Конечно, C ++ также на 100% (более или менее) совместим.

0 голосов
/ 23 мая 2010

Java и JS не имеют препроцессора (на самом деле JS понятно, так как вы можете запускать строки как код на языке) Не уверен насчет AS, но C, C ++ и ObjC имеют препроцессор класса C.

C # имеет препроцессор, но я никогда не использовал его, и поэтому не могу говорить о его использовании. http://msdn.microsoft.com/en-us/library/ed8yd1ha(VS10.0).aspx

Библиотека препроцессора Boost является awesum.

0 голосов
/ 23 мая 2010

C ++ и target-C оба используют препроцессор C. Ни один из остальных не использует.

Вы всегда можете добавить макропроцессор или язык шаблонов в любой процесс сборки, если вам это нужно.

...