小编Jam*_*mes的帖子

如何从fortran访问C指针?

我将值分配给状态数组,如下所示:

status [i] + = 1;

我想从fortran访问这个数组
如何访问这个数组?
例如,我想从fortran更改STAT的值,如下所示:

STAT(2)= 3

这可能吗?

c来源

#include <stdio.h>
#include <stdlib.h>
#include <sys/shm.h>
#include <sys/stat.h>

void call_fc_ (int *key, int *addr, int *size, int *status)
{
    int i;
    int shmid;
    void* shared_addr;

    //printf("first ptr = %p\n", *addr);

    shmid = shmget (*key, *size, IPC_CREAT | IPC_EXCL | 0666);
    if (shmid == -1)
    {
        printf("shmget is failed!\n");
        exit(0);
    }
    shared_addr = (void*) shmat(shmid, 0, 0);
    status = (int*)shared_addr;
    //printf("status ptr = %p\n", status);

    int data_size = …
Run Code Online (Sandbox Code Playgroud)

c fortran fortran-iso-c-binding

5
推荐指数
1
解决办法
951
查看次数

标签 统计

c ×1

fortran ×1

fortran-iso-c-binding ×1