私は矢印キーでメニュー内を上下に移動する関数を呼び出すターミナルベースのメニューを書いています。問題は、私は2つの関数(どちらもstdscr)で見られるようにウィンドウが必要なことです。私は成功していないヘッダーでそれを宣言してextern WINDOWを作成しようとしました。どのように私はこれを達成することができる任意の提案?ありがとうCのncursesウィンドウexternとして
-1
A
答えて
2
あなたが持っている可能性のあるコードと結果と実行しているものを投げてください。 ncursesベースのドキュメントを読んで、定期的なextern
宣言(:未ncursesのユーザーや専門家注):を超えてここに本当の複雑さがあるようには思えない
- あなたが共有ヘッダーで
extern WINDOW *global_win;
を必要としています。 - 一部のソースファイルには、ちょうど1つの
WINDOW *global_win = NULL;
が必要です。 - 初期化ルーチンのどこかで
global_win = newwin();
を実行する必要があります。 - これ以降、適切なオブジェクトファイルがリンクされている場合(ステップ#2を持つもの)、共有ヘッダーを含むファイルから
wrefresh(global_win)
などを呼び出すことができます。
また、モデルを逆転させ、ライブラリをANYウィンドウで操作できる関数にすることもできます。 draw_circle(WINDOW *win)
- あなたの主な方法は、あなたのユーティリティモジュールからのヘッダを含み、グローバル共有ウィンドウ上で動作するモジュールの集合ではなく、現在の作業ウィンドウ(そこに存在する可能性がある)を渡します。この方法では、誰にでもextern
を表示する必要はありませんが、WINDOW *
を渡す必要があります。
0
今日はあまりにも長い間画面に主演していたに違いない...笑。 WINDOW externを作るコードは簡単すぎる。ちょうどWINDOW * winを追加してください。 (ここで* winはあなたのウィンドウの名前になります)を 'include'の下のヘッダーのどこかに置いて、それをどこかの関数のどこかに定義します。すごくばかげて申し訳ありません...
関連する問題
- 1. ncursesとC- ncursesウィンドウで 'df'コマンドの出力を表示
- 2. 変数のexternとextern "C"
- 3. ウィンドウの動的配列、Ncurses
- 4. C++のexternと同じC#
- 5. C/C++ ncurses freeze
- 6. ncursesウィンドウを色で塗りつぶし
- 7. C++のexternエラー
- 8. "C"と "extern C"のアクセス許可の差
- 9. マウススクロールアップ(Ncurses/C++)
- 10. Rustのextern fnとextern "C" fnの違いは何ですか?
- 11. C++のExtern変数
- 12. c ncurses、window border broblem
- 13. フォアグラウンドでncursesウィンドウを維持する
- 14. C++ externテンプレートのインスタンス化とtypedef(gcc)
- 15. extern "C"内部ネームスペース
- 16. C++ Externクラス宣言
- 17. C#DLLにexternプロトタイプヘルプ
- 18. extern "C"を使用してC++で(醜い)Cコードを使用
- 19. C++ - のextern int型(ダブル)
- 20. C++ externストレージクラスの寿命
- 21. 私のウィンドウでncursesは何も表示しません
- 22. CとC++の静的グローバル変数とexternグローバル変数
- 23. C++:Extern Cネームスペース内の関数
- 24. ウィンドウよりも多くの行をncursesで使用しています
- 25. Xcode C++ extern variable linkerエラー
- 26. C++、にextern、およびGCC
- 27. Objective-cでExtern Cが機能する
- 28. NCurses/PDCursesの複数行テキスト入力(C)
- 29. Ncurses c/C++ - getstr()宣言されていないchar配列
- 30. なぜ私のウィンドウは表示されませんか? (Ncurses)
タイポを修正することで、OP解決済みの問題として閉じるように投票してください。 – KevinDTimm