2010-09-10 2 views
2

У меня есть кусок кода, как этот (файл Perl):Как использовать Perl Inline :: C?

print "9 + 16 = ", add(9, 16), "\n"; 
print "9 - 16 = ", subtract(9, 16), "\n"; 

C код также,

#include<stdio.h> 

main() 
{ 
int x = 9; 
int y = 16; 
printf(" add() is %d\n", add(x,y)); 
printf(" sub() is %d\n", subtract(x,y)); 
// return 0; 
} 
int add(int x, int y) 
{ 
return x + y; 
} 

int subtract(int x, int y) 
{ 
return x - y; 
} 

Как я могу запустить этот код на Си с использованием Perl Inline::C? Я попытался, но я не совсем понял.

+0

Вы можете вставить код и с какой проблемой вы сталкиваетесь? Есть ли проблема с написанным вами кодом или вы не знаете, как его написать, используя inline C в perl? –

+0

Произошло ли с вами, что собственные операторы добавления/вычитания Perl также будут реализованы на C. Я предполагаю, что вы не экономя очень мало (скорее всего, ничего), делая это. Если бы вы реализовали алгоритм в C, это была бы другая история. Сказав это, если вы просто делаете это как эксперимент, чтобы выяснить, как работает встроенный C, я убираю свой комментарий ;-) – Benj

+0

Senthil, просто предложение, игнорируя запись вашей подписи или имени, оно в любом случае будет отображаться стеклом overflow :) –

ответ

8
  • Посмотрите Inline::C-Cookbook - рог изобилия Инлайн C Рецепты, вы получите много примеров использования встроенных с C.
  • См. Inline - Напишите подпрограммы Perl на других языках программирования, вы узнаете, как использовать Inline, и вы также получите примеры C.
4

попробовать:

use Inline 'C'; 

print "9 + 16 = ", add(9, 16), "\n"; 
print "9 - 16 = ", subtract(9, 16), "\n"; 

__END__ 
__C__ 

int add(int x, int y) { 
return x + y; 
} 

int subtract(int x, int y) { 
return x - y; 
} 
Смежные вопросы