我试图在c中找到一种实际上基于语言标准的语言,这里有一个简单的例子
#include "linda.h"
int worker(int num)
{
int i;
for (i=0; i<num; i++)
out("hello, world");
return 0;
}
int main()
{
int result;
eval("worker", worker(5));
in("hello, world");
in("hello, world");
in("hello, world");
in("hello, world");
in("hello, world");
in("worker", ? result);
return 0;
}
答案 0 :(得分:1)
直接针对您的问题:
Where can i find an implementation of the coordination language linda in c?
这里:http://www.comp.nus.edu.sg/~wongwf/linda.html
您可以下载并使用它!
如果你下载它,你应该得到这个:
linda //dir
|
| - linda.c //file
| - linda.h //file
| - primes.c //file
| - README.txt //file
但你必须知道:
linda_init()
linda_end()
eval()
功能,但您可以使用spawn()
varargs.h
已过时!所以我建议你使用:stdarg.h
所以只有一件事要做! 下载并开始使用!
修改强>
另一种方法是下载Linda-C
编译器并在Linda-C(*.clc
)中编写程序。
所以,但从上面回到图书馆:
我在这个库里有一个与linda一起工作的程序!
我有:GNU GCC compiler(tdm64-1) 4.7.1 MinGW64
你必须注意的事项:
linda.h
中,您必须将包含sys/varargs.h
更改为stdarg.h
,因为varargs已过时!
linda.c
所有va_arg()
次来电并更改以下类型:
float
- &gt; double
char
- &gt; int
linda.c
编译为linda.o
:
gcc -c -O linda.c
(也可能是您必须直接转到gcc.exe
,以便在gcc
中了解Windows cmd
命令以此为例:
gcc compiler
的路径:
"C:\Program Files (x86)\Dev-Cpp\MinGW64\bin"
linda library
的路径:
"C:\Users\xy\Downloads\linda\linda"
现在,如果您打开cmd
并输入:gcc --version
并且找不到它,则必须直接转到gcc.exe
这样的文件(否则你的罚款,你没有指向编译器dir):
cd "C:\Program Files (x86)\Dev-Cpp\MinGW64\bin"
因此,如果您位于directory
所在的gcc.exe
,您应该能够执行该命令:gcc --version
从那里你可以执行命令来创建linda.o
!在这个例子中看起来像这样:
gcc -c -O C:\Users\xy\Downloads\linda\linda\linda.c
如果一切顺利的话!您最终应该在编译器目录中找到文件linda.o
现在使用文件linda.o
,您可以编译primes.c
(在此库中作为示例)并在linda
中获得c
个程序!使用以下行:
gcc -o C:\Users\xy\Downloads\linda\linda\primes -O C:\Users\xy\Downloads\linda\linda\primes.c C:\Users\xy\Downloads\linda\linda\linda.o -lpthread -lm
使用此行,您最终应该使用.exe
文件:primes.exe
!您可以在编译器目录中复制并执行!如果你在这个目录中没有它,那么lpthreadGC2_64.dll
是未知的,它无法执行!
primes.c
文件中添加以下行,这样如果你执行它,窗口就不会立即关闭:system("pause");
eval()
,有一些解决方法/解决方案:
for
循环并多次调用您的函数! (由于您使用spawn()
调用的功能必须void
为return type
)#define CALLS 5
定义一个常量,并在函数本身中使用它来使命令在for
循环中执行,或者在main
函数中调用{{1多次所以这么说。你的程序应该是这样的:
spawn()
希望这能帮到你!
干杯