問題タブ [c++]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# でストリーム データをデータ構造にマッピングする
ストリームまたは配列で収集されたデータをデータ構造に、またはその逆にマッピングする方法はありますか? C++ では、これは単純に、使用したいデータ型としてストリームへのポインタをキャストすること (または逆の場合はその逆) の問題です。例: C++ の場合
受信データを読み取るときにストリーム データの品質が確かでない限り、明らかに C++ の方法はかなり安全ではありませんが、送信データの場合は非常に迅速かつ簡単です。
php - Linux 用軽量 IDE
堅牢で高速なコンピューター (2Gb RAM を搭載した Pentium デュアル コア 2.0) を持っていますが、軽量のソフトウェアを常に探しているので、多くのアプリが同時に起動して実行されている場合でも高速に動作します。
ここ数週間、私は徐々に Linux に移行しており、C++ と PHP でプログラムするための無料の軽量で便利な IDE をインストールしたいと考えています。構文の強調表示とコード補完のヒントは必須です。
java - シリアル ポートを設定して通信するにはどうすればよいですか?
シリアル接続 (RS-232 および RS-422) でデータを送受信する必要があります。
このような接続を設定して通信するにはどうすればよいですか? どのような構成設定 (ボーレートなど) をどのように設定すればよいですか?
特に、Java、C/C++、または主要な Unix シェルの 1 つでこれを行うことを検討していますが、Windows/ハイパーターミナルを使用したシリアル プログラミングにも関心があります。
c++ - Visual StudioC++の単体テストを設定する方法
おそらく組み込みの単体テストスイートを使用して、 VisualStudio2008でテストフレームワークをセットアップして使用できるようにする方法を理解するのに問題があります。C++
リンクやチュートリアルをいただければ幸いです。
c++ - Visual Studio の C++ プロジェクトをリリース用にパックするにはどうすればよいですか?
必要なすべてのdllファイルを.exeに含むリリースビルドを作成して、ターゲットマシンにMicrosoft再配布可能ファイルをインストールしなくても、プログラムを非開発マシンで実行できるようにする方法を考えています。
これを行わないと、アプリケーション構成が正しくないため再インストールするようにというエラー メッセージが表示されます。
c++ - USB MIDI デバイスから MIDI 信号を読み取るための C/C++ ライブラリ
MIDI デバイスから入力を受け取る C/C++ プログラムを作成したいと考えています。
MIDI デバイスは、USB コネクタを使用して PC に接続します。
USB ポートを介して MIDI デバイスから MIDI 信号を読み取るために使用できる (C/C++ で実装された) ライブラリを探しています。
MIDI データを取得したら、それを操作できて満足しています。キャプチャ用のコードを実装する必要はありません。
Windows XP で Bloodshed Dev-C++ IDE を使用してコードを作成する予定です。
c++ - C ++でスパース配列を作成するための最良の方法は何ですか?
私は、巨大な行列の操作、特にコピュラ計算のためのピラミッド型の合計を必要とするプロジェクトに取り組んでいます。
要するに、マトリックス(多次元配列)のゼロの海で比較的少数の値(通常は1の値、まれに1を超える値)を追跡する必要があります。
スパース配列を使用すると、ユーザーは少数の値を格納し、未定義のすべてのレコードをプリセット値と見なすことができます。すべての値をメモリに格納することは物理的に可能ではないため、ゼロ以外のいくつかの要素のみを格納する必要があります。これは数百万のエントリになる可能性があります。
速度は非常に優先されます。また、実行時にクラス内の変数の数を動的に選択したいと思います。
私は現在、二分探索木(b-tree)を使用してエントリを格納するシステムで作業しています。より良いシステムを知っている人はいますか?
c++ - ポインターを理解する上での障壁は何ですか?また、それらを克服するために何ができるでしょうか?
C や C++ の大学レベルの新入生だけでなく、年配の学生にとっても、ポインターが混乱の主な要因である理由は何ですか? ポインターが変数、関数、およびその先のレベルでどのように機能するかを理解するのに役立つツールや思考プロセスはありますか?
全体的なコンセプトにとらわれずに、誰かを「ああ、わかった」のレベルに引き上げるために実行できる優れたプラクティスには、どのようなものがありますか? 基本的に、ドリルのようなシナリオです。
c++ - リンクの問題 (VC6)
ライブラリとそのテスト ハーネスである古いワークスペースを開きました。以前は正常に動作していましたが、現在は動作せず、古いバージョンのコードも同じエラーで動作しません。プロジェクトを再作成しようとしましたが、同じエラーも発生します。プロジェクト設定に異常はなく、生成されたコードはメイン アプリで動作します。
ほとんどのファイルを削除し、エラーを生成するために最小限に抑えました。残念ながら、これは製品コードで使用されているため、プロジェクトを投稿できません。
通常、LNK2001 リンカー エラーは、ライブラリを中断したか、仮想関数の実装を忘れたことを意味します。ただし、これは標準テンプレート ライブラリの一部であり、そのヘッダーです。
IOCompletionPort.obj で問題があるとリストされているコードは、実際にはstd::string
直接使用していませんが、次のことを行うクラスを呼び出します: a とorの値をComms::Exception
受け入れます。std::string
GetLastError
WSAGetLastError
エラー ( GetMessage
) に記載されている関数は実装されていますが、仮想関数であるため、必要に応じて他のクラスがオーバーライドできます。ただし、コンパイラはそれを Ansi バージョンとして作成したようですが、それを制御する設定のオプションが見つかりません。それが問題かもしれないと思いますが、ライブラリのオプションがほとんどないため、確実に知る方法がありません. ただし、どちらのプロジェクトもコンパイラ オプションで _MBCS を指定します。
--------------------構成: TestComms - Win32 デバッグ-------------------- リンク中... Comms.lib(IOCompletionPort.obj): エラー LNK2001: 未解決の外部シンボル "public: virtual class std::basic_string,class std::allocator > __thiscall Comms::Exception::GetMessageA(void)const " (?GetMessageA@ Exception@ Comms@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) Debug/TestComms.exe : 致命的なエラー LNK1120: 1 つの未解決の外部エラー実行中link.exe.
TestComms.exe - 2 つのエラー、0 の警告
助言がありますか?私はこれで午前中のほとんどを失いましたが、午後もほとんど失いたくありません。
c++ - C ++でのシングルトンのスレッドセーフな遅延構築
次のような C++ でシングルトン オブジェクトを実装する方法はありますか。
- スレッド セーフな方法で遅延構築します (2 つのスレッドが同時にシングルトンの最初のユーザーになる可能性がありますが、構築は 1 回だけにする必要があります)。
- 事前に構築されている静的変数に依存しません (そのため、静的変数の構築中にシングルトン オブジェクト自体を安全に使用できます)。
(私は自分の C++ を十分に理解していませんが、コードが実行される前に整数および定数の静的変数が初期化される場合 (つまり、静的コンストラクターが実行される前であっても - それらの値はプログラムで既に「初期化」されている可能性があります)もしそうなら - おそらくこれは、シングルトンミューテックスを実装するために悪用される可能性があります - これは、実際のシングルトンの作成を保護するために使用できます..)
すばらしい、私は今、いくつかの良い答えを持っているようです (残念ながら、2 つまたは 3 つを答えとしてマークすることはできません)。2 つの大まかな解決策があるようです。
- POD 静的変数の静的初期化 (動的初期化ではなく) を使用し、組み込みのアトミック命令を使用して独自のミューテックスを実装します。これは私の質問でほのめかしていた解決策のタイプであり、私はすでに知っていたと思います.
- pthread_onceやboost::call_onceなどの他のライブラリ関数を使用します。これらは確かに知りませんでした-そして、投稿された回答に非常に感謝しています.