我正在寫一個基於終端的菜單,調用一個函數在箭頭鍵的菜單中向上/向下移動。問題是我需要WINDOW才能被兩個函數看到(它們都不是stdscr)。我試圖通過在頭文件中聲明它沒有成功來創建一個extern窗口。任何建議如何我可以做到這一點?謝謝C ncurses WINDOW as extern
-1
A
回答
2
請拋出你可能有的任何代碼以及結果和你正在運行的東西。讀ncurses的文檔,似乎沒有在這裏是真正的複雜性超出常規extern
聲明(注:不是ncurses的用戶或專家):
- 您需要在共享頭的
extern WINDOW *global_win;
。 - 在某些源文件中,您只需要一個
WINDOW *global_win = NULL;
。 - 您需要在初始化例程中的某處運行
global_win = newwin();
。 - 在此之後,您應該能夠從任何包含共享標題的文件中調用
wrefresh(global_win)
等,只要適當的目標文件鏈接到(具有步驟#2的文件)。
您還可以反轉您的模型,並讓您的庫成爲可以在任何窗口上操作的函數,例如, draw_circle(WINDOW *win)
- 這樣,您的主要方法就包含實用程序模塊中的標題並傳入當前工作窗口(其中可以有一個),而不是在全局共享窗口上運行的模塊集合。這樣,每個人都不需要看到extern
,但是您必須通過WINDOW *
。
0
好的。我今天肯定已經在屏幕上主演太久了......大聲笑。使WINDOW extern的代碼太簡單了。只需添加WINDOW * win; (其中* win將是您窗口的名稱)在'include'下面的標題的某個地方,然後在任何函數的某個地方定義它。對不起,這麼愚蠢......
相關問題
- 1. 爲什麼* mut i8用於ncurses-rs中的WINDOW類型?
- 2. C++的extern類聲明
- 3. static vs extern「C」/「C++」
- 4. 的extern在C
- 5. C++的extern聯
- 6. Extern變量C++
- 7. EXTERN變量C
- 8. C#New window focus
- 9. Windows&C++:extern&__declspec(dllimport)
- 10. Extern「C」錯誤DirectX
- 11. Extern和const在C++
- 12. Haskell ncurses
- 13. Dim c as MyClass&Dim c as New MyClass
- 14. ANSI顏色C和ncurses的
- 15. C++到C#的「As」?
- 16. 使用ncurses pad在C中滾動
- 17. FourCC as int C#
- 18. ncurses和C-在ncurses窗口顯示'df'命令的輸出
- 19. 使用extern「C」無功能
- 20. 在Swift中使用extern「C」?
- 21. 何時使用extern「C」?
- 22. 瞭解extern模板在c + +
- 23. extern和c中的全局
- 24. C++ extern變量不可見
- 25. C extern變量訪問
- 26. 爲extern「C」和錯誤C4430
- 27. 使用「的extern」在C
- 28. 爲extern「C」與常量
- 29. 在C++中使用extern
- 30. C++的extern類定義
投票關閉,因爲OP解決了打字錯誤的問題。 – KevinDTimm