1. 程式人生 > 其它 >【LabVIEW】呼叫庫函式傳入引數、返回值資料型別配置

【LabVIEW】呼叫庫函式傳入引數、返回值資料型別配置

1、傳參為指標

void test(int x, int y, int *sum); //函式接受一個指向整數的指標

2、傳參為陣列

int test(int x, int y, int sum[], int length); //函式接受一個整數陣列

3、傳參為char型別
int test(int x, int y, char *sum); //函式接受字串

4、傳遞結構體和指向結構體的指標

void test(int x, int y, char *sum,struct simpleStructCircle *largerCircle); //任意結構體

5、返回指標
兩種方式:

(1)作為返回值

int * test(void)
{
int *x = (int *) malloc(sizeof(int));
*x = 5;
return x;
}
因為LabVIEW呼叫庫函式節點只允許返回整數、字串和Void型別,所以必須將指標作為表示記憶體地址的整數接受,並手動解引用指標以獲得其值。

(2)Reference 指標通過函式的形參返回
void test(int x, int y, int *sum)
{
//sum is a pointer
*sum = x + y;
}

同理,返回float型別資料:

void test(float& Vesionnum)
{
Vesionnum = 1.32;
}

來源:https://forums.ni.com/t5/Developer-Center-Resources/Passing-and-Receiving-Pointers-with-C-C-DLLs-from-LabVIEW/ta-p/3522714?profile.language=zh-CN

/*******相與枕藉乎舟中,不知東方之既白*******/