Q
迴路的功能名稱
0
A
回答
2
反射不能在C中工作,據我所知,所以你不能動態地將字符串轉換爲函數調用,使用他們的名字。
但是,你可以使用函數指針來做到這一點。
#include <stdio.h>
int f1()
{
printf("f1() \n");
return 0;
}
int f2()
{
printf("f2() \n");
return 0;
}
int f3()
{
printf("f3() \n");
return 0;
}
int main(int argc, char *argv[])
{
int (*p[3])() = {
f1,
f2,
f3
};
for (int i=0; i<3; i++) {
(*p[i])();
}
return 0;
}
+0
這很有幫助,但函數名稱在另一個c文件中給出,所以我不能重新定義它們。 – user1773037
+1
您可以隨時包含該文件。你不需要重新定義它們。 – Sorter
+0
你沒有重新定義它們,只是通過地址指向它們。 –
0
如果你正在尋找一個函數名字符串轉換爲地址的功能,嘗試對dlsym()
相關問題
- 1. EBImage功能名稱
- 2. 顯示功能名稱
- 3. DLL壞功能名稱
- 4. Elisp交互功能名稱
- 5. 導出功能名稱
- 6. 階記錄功能名稱
- 7. 驗證名稱功能
- 8. 名稱參數或功能?
- 9. PHP - 功能名稱衝突
- 10. Lua需要完整路徑名稱的功能
- 11. 使用「url」功能的靜態文件路由名稱問題
- 12. 在ios中獲得兌現的線路號和功能名稱
- 13. 優化迴路功能
- 14. 在AfNetworking不能識別功能名稱
- 15. iBooks中的某個功能的名稱
- 16. 名稱的JS功能通過的clientId
- 17. jshint名稱中的點的功能
- 18. 功能中的按鈕的名稱
- 19. Image_lib路徑名稱錯誤,服務器不支持GD功能
- 20. 添加回調回路功能
- 21. 預處理功能不同的名稱相同的功能
- 22. 包名稱=主要功能名稱時的文檔
- 23. JavaScript變量名稱相同的使用功能名稱
- 24. 類型名稱的功能名稱映射在編譯時
- 25. 如何找到IIS功能的名稱
- 26. LLVM功能的更改名稱
- 27. __typeof__的宏擴展至功能名稱
- 28. 知道插補後的功能名稱
- 29. ElasticsearchIllegalArgumentException沒有名稱的功能
- 30. 如何顯示功能的名稱?
是否已進行了一次嘗試寫代碼呢?你有沒有做過任何研究。如果是發佈你的代碼。否則這不是這個問題的地方。 – Gangadhar