問題タブ [qnx]

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.

0 投票する
1 に答える
1432 参照

c++ - 2 つの異なる共有ライブラリで同じシンボルを持つ関数をどのように呼び出すのですか?

C++ で記述された同じライブラリの複数のバージョンがあります。それらを並べて比較する必要があります。これらのライブラリは、同じ名前空間、関数名を使用し、同じパラメーターを取ります。

同時に 2 つ以上のライブラリをリンクするときに使用するライブラリのバージョンを制御する方法はありますか?

0 投票する
1 に答える
819 参照

virtual-machine - qnx OS で devnp-ncm.so をロードする方法は?

で QNX OS ( 650SP1) を実行していVMplayerます。devnp-ncm.soドライバーをロードしたいと思います。

私は次のことを試しました -

1) #io-pkt-v4-hc -d /lib/dll/devnp-ncm.so path=/dev/io-usb/io-usb -ptcpip verbose &

2) # io-pkt-v4-hc & #mount -T io-pkt devnp-ncm.so

ロード方法を教えてください。

0 投票する
2 に答える
1821 参照

c++ - while ループの途中でスレッドがランダムに停止する

非常に興味深いことをしているプログラムがあります。基本的に私は 3 つのメイン スレッドを持っています。すべてがビジーで、問題のスレッドには基本的に次のような while ループがあります。

現在、印刷メッセージは最初の約 400 ラウンドで印刷されますが、その後はスレッドの実行が停止します。このスレッドの優先順位を高くしてみました。他のスレッドの優先度を下げてみました。最も奇妙なことは、これは以前は機能していたのですが、別の問題 (print ステートメントでのみ行われた) をデバッグしているときに、断続的に発生し始めたことです。毎回のように、今では恒久的なものになっています。

一時的に解決した(その後、再び機能しなくなったように見える)ものは次のとおりです。

  1. 他のスレッドの print ステートメントのレベルを下げます。

  2. 他のスレッドの優先度を下げる。

  3. さまざまな時間に実行されます。

免責事項として、QNX と呼ばれるリアルタイム オペレーティング システムを使用していますが、これが問題を直接引き起こしている可能性があります。そうでなければ、大きなコアi7があり、スレッドを使用する機能がないことを願っています。

残念ながら、コードは非常に長く、作業用であるため、投稿するべきではありません。自分で解決するための正しい方向に向けてくれる助けを期待しています。これらの症状を引き起こす可能性のある問題を知っている人はいますか?

0 投票する
2 に答える
1273 参照

c++ - 同じコンパイラを使用した同じプログラム コードが異なるバイナリにつながる

コードに問題があり、非常に奇妙な症状が見られます。

  1. コードは、次のバージョンのコンピューターでコンパイルされています。

    を。GCC バージョン: 4.4.2

    b. CMAKE バージョン: 2.8.7

    c. QNX (オペレーティング システム) バージョン: 6.5.0

また、一部のメモリを解放して関数を終了する際に、コードにセグメンテーション違反があります (どのコードでも終了せず、関数を終了するだけです)。

これについての奇妙な点は次のとおりです。

  1. コードはリリース モードで実行しますが、デバッグ モードでは実行しません。

    を。コードはスレッド化されているため、これは競合状態を示しています。

    b. デバッグモードにしてデバッグできません。

  2. すべてが同じバージョンの Workmates マシンでコンパイルされたコードには、この問題はありません。

    を。これに関する奇妙な点は、同僚のコードが機能することですが、彼のマシンでコンパイルして作成されたバイナリは同じで、約 6mB 大きいことです。

迷惑なことに、コードが大きすぎて仕事にも使えないため、コードを投稿できません。しかし、誰でもこれを修正するための道筋を教えてもらえますか?

QNX を使用しているため、デバッグ ツールが限られているため、Valgrind を使用できません。Valgrind は QNX でサポートされていないため、GDB はあまり役に立ちません。

似たような/同じ問題を抱えていて、その原因と解決方法を知っている人を探しています。

編集:

すっごく... 原因は分かったけど、どうやって起こったのかまだ少し混乱している。

犯人コードはこれでした:

の定義getMinimumBoundingBoxは次のとおりです。

そして、常に として初期化される VectorXd を返しますVectorXd output(6, 1)。だから私はすぐに、VectorXdが初期化されていないが、これに変更されているためだと思いました:

しかし、これはうまくいきませんでした。実際、関数の定義を次のように変更して修正する必要がありました。

そしてこれへの呼び出し

だから今、新しい質問:

なんてこったい?最初の変更が機能しなかったのに、2 番目の変更が機能したのはなぜですか? なぜ参照渡しをしなければならないのですか? ああ、大きな問題です。同僚がコンパイルして実行したとき、どうしてこれが壊れなかったのですか? それは単純なメモリエラーです。特に、コンパイラと他のすべての重要なものが同じであるため、コンパイルするコンピューターに依存するべきではありません!!??

助けてくれてありがとう。

0 投票する
1 に答える
2181 参照

c++ - C++ タイマー クラス、QNX でパルス メッセージと共に使用

プロジェクトのタイマー クラスを作成しました。標準の C++ 関数呼び出しを使用しました。

タイマー(開始、停止、一時停止、続行、リセット)を作成し、新しいタイミングを渡したいです。

停止する前にタイマーが起動した場合、特定のチャネルで qnx パルス メッセージを取得したいと考えています。

これはヘッダーです:

...そして実装:

1)タイマー構造体の値をゼロに設定して(タイマーを停止するため)、別のバック構造体の値をバックアップすることはできますか?または、実行中のタイマーがタイマー構造体で減分されていますか?

2) 簡単な方法で古いタイマー値を簡単に復元できますtimer = backupTimerか?

3) 最後に、関数でタイマーを作成して開始すると、次のようになります。

...その後、タイマーがスタック上に作成され、この関数 (およびその変数など) を終了すると、有効ではなくなります。タイマーはまだカウントダウンして脈拍を発しますか? または、このタイマーのヘッダー ファイルで分類子を使用する必要がありますか?

0 投票する
1 に答える
707 参照

middleware - ロボット ミドルウェア (OpenRTM、OROCOS、RSCA、ASEBA など) は、RTOS (Micrium、QNX、Keil、FreeRTOS?

あなたに質問があります。

ロボット開発者が I/O 作業を行うためのライブラリを含むオープン ソースのロボット ミドルウェアがいくつかあります。これらは、多くの時間を節約する非常に強力なツールです。それらはOpenRTMOROCOSRSCAなどです...

プロジェクトでは、障害物回避、move2goal、コリドー追従などの自律的な動作を行うロボット車椅子を開発します。RTOS を使用して、動作の I/O スタッフと選択操作を整理します。

私が疑問に思っているのは、RTOS ( mcOS-II、QNX、Keilなど) のいずれかにこれらのミドルウェアへのポートがあるかどうかです。これらの RTOS にインストールできますか?

私の悪い英語でごめんなさい。あなたが私の言いたいことを理解してくれることを願っています。

よろしくお願いします..

0 投票する
3 に答える
562 参照

eclipse - QNX Momentics IDE (Eclipse IDE) で新しいプロジェクトを作成しようとするとエラーが発生する

QNX Momentics IDE で新しい Blackberry Cascades C++ プロジェクトを作成しようとしています。以前は作成できましたが、作成しようとすると、「com. qnx.tools.bbt.appdescriptor.Configuration.getId()java/lang/String"

コンピューターのすべてを閉じて再起動し、再試行しましたが、それでもエラーが発生します。

以前は新しいプロジェクトを作成できました。

これは、プロジェクトの名前を変更しようとした後に発生し始めましたが、「リソース 'MyProject' はファイル システムと同期していません」という別のエラー ポップアップが表示され、QNX Momentics IDE を再起動したので、それがどうかはわかりませんそれと関係があります。

他の多くの Blackberry Cascades プロジェクトを既に作成しているワークスペースで新しい Blackberry Cascades プロジェクトを作成しようとしても、同じエラーが発生しました。これで何が起こっているのですか?どうすればこれを修正できますか? QNX Momentics IDE を再インストールする必要がありますか? それとも別の方法がありますか?

0 投票する
1 に答える
1048 参照

c - 関数でのC自己割り当て

QNX(Photon Cコンパイラ)からLinux(GCC)へのレガシーCコードの移植。いくつかの場所で、次のようなコードが表示されます。

明らかに、このコードはコンパイルには必要なく、何もしません。

私の質問は、なぜあなたはそもそもこれをするのですか?

0 投票する
1 に答える
547 参照

c++ - QNXで特定のスレッドシーケンスを強制するにはどうすればよいですか?

A、B、Cの3つのスレッドがあり、QNXリアルタイムオペレーティングシステムのC ++でシーケンスA、B、B、C、C、C、B、B、Aをスケジュールしたいと考えています。私のアプローチは、セマフォを使用して、最後に実行されたスレッドを保存することです(B->CおよびB->Aのため):

残念ながら、QNXがインストールされていないため、コードをテストできません。だから私の質問:これはうまくいくでしょうか、そしてこれを行うためのより良いまたは組み込まれた方法はありますか?

0 投票する
1 に答える
262 参照

qnx - QNX 6.5 の診断 KVM スイッチ

KVM(ATEN CS 1642) スイッチがあり、usb マウス、usb キーボード、および 2 つの dvi ディスプレイに接続されています。KVM は、2 台のコンピューター (QNX 6.5) 間の切り替えを制御します。接続されている入出力デバイス (マウス、キーボード、ディスプレイ) に関する情報を取得する必要があります。オペレーティング システム ユーティリティは、エミュレートされたスイッチ デバイスのみを決定します。つまり、hidview を呼び出すと、実際に KVM から引き出された場合でも、Aten マウスと Aten キーボードが表示されます。実際に接続されている IO デバイスのリストをプログラムで取得できますか? ありがとう。