向高手请教fortran 调用C 的问题
我现在要些一个fortran调用C接口的问题,但是不知道 C语言里面分配的指针怎么付给fortran,又不能在fortran立马先分配好,业务上不允许。
我写了个测试的例子。但是不行。
test.c
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <stdlib.h>
int itest_(char **p)
{
*p = (char*) malloc(sizeof(char) * 18);
sprintf(*p,"%s","gbcd");
return 1;
}
test.F90
program main
interface
integer function itest(pchar)
CHARACTER,pointer::pchar(:)
end function
end interface
CHARACTER ,pointer:: pchar(:)
integer iout
CHARACTER ac
CHARACTER ab,ad
iout = itest(pchar)
ac=pchar(1)
ab=pchar(2)
ad=pchar(3)
write(*,*)ac
write(*,*)ab
write(*,*)ad
end program
但是运行结果是
g
g
g
请高手帮忙。
帮顶~~
顶
相关问答:
请问各位高手如何用C/C++获得系统未安装补丁
好像很专业的东西。。。
查注册表
每个补丁如果安装了都会在注册表里面登记
请问能不能更清晰些,我想用c\c++查出来,不好意思,我是新手。还望指教。谢
分值 ......
最近在看一个用bison实现的C parser,OS是opensolaris。当用它来解析一个简单的hello.c时,出现“/usr/include/sys/va_list.h: parse error before __gnuc_va_list”。打开文件va_list.h后发现这样一行“typedef __bu ......
1. 如下定义会有什么错误发生
//file1.c
int a[10];
//file2.c
extern int *a;
2. 大容量全局变量有什么危害,如
//file.c
......
#include"stdio.h"
#include"stdlib.h"
void ContrTwo(char i)
{
char str1[8];
itoa(i,str1,2);
printf("%s",str1);
}
unsigned char leftRot(char str,int i);
unsign ......
如题
又问?C运行时库包含了C标准库,还包含一些扩展的非标准的东西。
标准库可以用二进制方式提供,也可以用源码方式提供,
运行库中的函数可以比标准库少,也可以比标准库多,
运行库体现的是库的发布和使用 ......