HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ИНФО > Статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 01.11.2011, 12:35
<Cyber-punk>
Участник форума
Регистрация: 01.10.2009
Сообщений: 105
С нами: 8742676

Репутация: 94
По умолчанию

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

Голый Си:

[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
 
Ответить с цитированием

  #2  
Старый 02.11.2011, 17:43
Chrome~
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
С нами: 9162683

Репутация: 175
По умолчанию

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

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

  #3  
Старый 03.11.2011, 23:04
fox_malder
Участник форума
Регистрация: 28.11.2008
Сообщений: 281
С нами: 9184072

Репутация: 242
По умолчанию

Кибер панк как всегда на высоте))) с удовольствием прочитал статью) конечно такое часто не станешь применять только тогдав когда вообще выхода нету и путь лежит через извращения
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.