<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
Голый Си:
[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