PDA

Просмотр полной версии : Пишем двуязычную программу


<Cyber-punk>
01.11.2011, 12:35
Недавно передо мной встала нелёгкая задачка, которую мне подкинул один знакомый. Суть состоит в том, чтобы, написав один исходник, можно было его скомпилировать в gcc и исполнить, также и исполнить через интерпретатор perl. Казалось бы, не так уж и сложно, но не всем программистам придёт в голову, как правильно написать данный исходник. Приступим к рассмотрению изначальных программ на C и Perl.

Голый Си:

[CODE]
Code:
#include
#include
int main(int argc, char *argv[])
{
int sum=0;
int i;
for (i=1; i
#include

#define $ /* */

#define ARGV argv

#define if($x) int main(int argc, char *argv[])

#define $start 1

#if PERL
sub atoi { $_[0] }
$ argc=@ARGV;
$ start=0;
$ x=1;
#endif

if($x)
{
int $ sum;
int $ i;

$ sum=0;

for ( $ i = $start; $ i

Chrome~
02.11.2011, 17:43
Интересная статья. Правда такая двуязычная программа может потребоваться только в каком то экзотическом случае.

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

fox_malder
03.11.2011, 23:04
Кибер панк как всегда на высоте))) с удовольствием прочитал статью) конечно такое часто не станешь применять только тогдав когда вообще выхода нету и путь лежит через извращения