我正在写一个基于终端的菜单,调用一个函数在箭头键的菜单中向上/向下移动。问题是我需要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. static vs extern“C”/“C++”
- 3. Extern变量C++
- 4. C++的extern联
- 5. EXTERN变量C
- 6. 的extern在C
- 7. Windows&C++:extern&__declspec(dllimport)
- 8. Extern和const在C++
- 9. Dim c as MyClass&Dim c as New MyClass
- 10. ANSI颜色C和ncurses的
- 11. 使用ncurses pad在C中滚动
- 12. extern和c中的全局
- 13. C extern变量访问
- 14. 为extern“C”与常量
- 15. 何时使用extern“C”?
- 16. 使用“的extern”在C
- 17. 在C++中使用extern
- 18. 了解extern模板在c + +
- 19. C++的extern类定义
- 20. 在Swift中使用extern“C”?
- 21. “extern const”vs“extern”only
- 22. static extern vs extern static
- 23. NCurses刷新
- 24. Rust中的extern fn和extern“C”fn有什么区别?
- 25. 在C++的`extern“C”块中使用c99
- 26. extern关键字不同于c到C++?
- 27. 在C#中定义extern“C”功能
- 28. Extern“C”函数内部使用C++类
- 29. Haskell如何使用extern FILE * from c?
- 30. Ncurses菜单的边界
投票关闭,因为OP解决了打字错误的问题。 – KevinDTimm