hidebun の回答履歴
- C++BuilderとMATLABの連携
C++BuilderとMATLABというソフトウェアを連携させて、解析を行いたいと思っています。 調べた結果、MATLABエンジンを利用すればいいということが分かりました。 そこで、プログラムに以下の文を加えて実行したのですが、エラーが出てしまいました。 #include "engine.h" Engine *ep; ep=engOpen(NULL); エラー内容: 「外部シンボル '_engOpen'が未解決。」 どなたかわかる方、エラー対処のアドバイスをお願いします。
- 締切済み
- C・C++・C#
- smile_yuki
- 回答数3
- ある配列の特定の位置の値が変わった場合(もしくは0になった)場合、 ブレークさせる方法はありますか?
C# 2008 Expressを使っています。 ある配列があり、特定の位置例えば2番目の値が変わった場合(もしくは0になった)場合、 ブレーク(中断)させる方法はありますか? ary[2] = 3; ary[2] = 0; <--- 0になった ここのソースでブレーク(中断) ある配列で値を設定している位置が沢山あり、ifとかでプログラムを書くのは面倒なので デバッグで出来る方法が知りたいです。 昔VC4かBC2.0か忘れましたが、ウォッチ?で出来たような記憶がありますが・・・ 私は安直にプログラムを組んでいますが、 皆さんはクラスのメソッドなど使って、代入値の監視などしているのでしょうか? かなりパフォーマンスが落ちるので無意識に避けていましたが、 どんなプログラムの作りが現在標準なのでしょうか。
- ベストアンサー
- C・C++・C#
- atoranta01
- 回答数4
- ある配列の特定の位置の値が変わった場合(もしくは0になった)場合、 ブレークさせる方法はありますか?
C# 2008 Expressを使っています。 ある配列があり、特定の位置例えば2番目の値が変わった場合(もしくは0になった)場合、 ブレーク(中断)させる方法はありますか? ary[2] = 3; ary[2] = 0; <--- 0になった ここのソースでブレーク(中断) ある配列で値を設定している位置が沢山あり、ifとかでプログラムを書くのは面倒なので デバッグで出来る方法が知りたいです。 昔VC4かBC2.0か忘れましたが、ウォッチ?で出来たような記憶がありますが・・・ 私は安直にプログラムを組んでいますが、 皆さんはクラスのメソッドなど使って、代入値の監視などしているのでしょうか? かなりパフォーマンスが落ちるので無意識に避けていましたが、 どんなプログラムの作りが現在標準なのでしょうか。
- ベストアンサー
- C・C++・C#
- atoranta01
- 回答数4
- 「動的確保した2次元配列のメモリ解放」を関数化したい
質問タイトルの通りですが、 「動的確保した2次元配列のメモリ解放」をC言語で関数化したいと思っています。しかし、関数の引数には動的確保した配列の先頭アドレスのみ渡す形にしたいです。そのような場合の関数化は可能ですか? どうもうまくいかず、困っています。 以下、具体的に、サンプルソースを記述します。 わかる方、よろしくお願いします。 //====================================================// #include<stdio.h> unsigned char** AllocByteArray2d(int column, int row); void FreeByteArray2d(unsigned char** box); int main(voidls){ unsigned char array**; array = AllocByteArray2d(2, 3); FreeByteArray2d(array); return 0; } unsigned char** AllocByteArray2d(int column, int row){ unsigned char* box; box = (unsigned char**)malloc( sizeof(unsigned char*)*column ) int i; for(i=0; i<column; i++){ box[i] = (unsigned char*)calloc( row, sizeof(unsigned char)); if(box[i] == NULL) exit(EXIT_FAILURE); } return box; } //引数では配列の先頭アドレスだけ渡す形にしたい void FreeByteArray2d(unsigned char** box){ //ここをどう書いたらいいかわからない }
- 他ソフトへのデータ伝送
C++Builderという開発ソフトを使って、研究をしている大学生です。 C++Builderのプログラム上の配列に入っているデータを、他のソフト(MATLAB)に伝送して計算処理をしたいのですが、なにか良い方法はないでしょうか? 例) C++Builderの配列に入っている値 str[0]=5,str[1]=4 MATLABでやりたいこと 5+4 (str[0]+str[1]) 単純に言えば、上記のような処理を実現したいのです。 COMコンポーネントやActiveXを使えばいいという話も聞いたのですが、 いまいち使い方(プログラミング)もわかりません。 どなたか参考になる意見をお願いいたします。
- 締切済み
- C・C++・C#
- smile_yuki
- 回答数1
- timeEndPeriodを呼ばないと
WindowsのAPIについての質問です。 timeGetTimeの精度を上げるため、timeBeginPeriodを呼ぼうと思っています。ですが、timeBeginPeriodを呼んだが、timeEndPeriodを呼ばなかったり強制終了等で呼べなかったりした場合はどうなってしまうのでしょうか。 timeBeginPeriodはOS全体に影響するとのことなので、timeBeginPeriodを呼んだプログラムが終了すれば精度も元に戻るのであれば安心なのですが、ずっと残るとなると気になります。 そうだとすると、今作ろうとしているプログラムは、コンソールアプリケーションでタイマーで定期的に負荷をかけ続けるもので、Ctrl-Cで終了させることを前提にしているため、timeEndPeriodを呼ぶタイミングがなく困っています。
- 職業訓練コースの選択
ハローワークで申し込んで受けられる職業訓練なのですが、「VB.NETプログラマー育成科」というのと、「組込みソフトウェア科」というのとどちらにするかたいへん迷っています。現在、年齢は30代後半にさしかかった者でして、プログラミングの経験はありません。ただ、本などで読んで、VBや、Cがどんなものか多少の予備知識などは仕入れています。後者の「組込みソフトウェア科」はC言語をやりますが、回路などの電気系統・マイコンの勉強もするそうです。VBはCに比べれば簡易的で学習の負担は軽い気もしますが、本格的なCの方にも魅力を感じます。ただ、VB.NETは、日曜プログラマーでやるのはよいとしてもは実際、業界で需要というのはどの程度あるのでしょうか。反対に組込みソフトウェアの技術者の方は経済産業省の調査によっても、不足しているようですが。 10月から開講で申し込み締め切りが迫っているのですが、どなたか、オススメのコースについてアドバイスを頂けましたら、ありがたく思います。 よろしくお願い致します。
- pthread_mutex_lock の応答時間
HP-UX上でCを使ってpthreadプログラムを記述しています。 mutexを競合するスレッドが2つあり、 A) pthread_mutex_lock(&mutex) B) pthread_mutex_lock(&mutex) A) pthread_mutex_unlock(&mutex) の流れで処理が流れています。 この時、A)がlockを解放してからB)がlockを獲得できるまで(=pthread_mutex_lockの応答が返ってくるまで)に多少の時間がかかってしまうことはありうるのでしょうか。(現在発生している事象では、0.002秒程度) マシン性能にも拠ると思いますし、B)スレッドが再開するときのCPU割り当てに時間がかかった等も考えられるのかとは思いますが、スレッドライブラリとしての動きが知りたいです。
- VC++IDEで実行ファイルが生産されない
Visual C++ 2008 の統合開発環境を使ってプロジェクトをビルドしたのですが、実行ファイルが生産されずに困っています。出力ウィンドウには コンパイルしています... リンクしています... コード生成しています。 コード生成が終了しました。 マニフェストを埋め込んでいます... とでました。しかしパソコン全体を探しても実行ファイルは見つかりません。コマンドラインコンパイルは問題なくできます。ソースコードは何度も見直したので間違いはないと思います。VC++の再インストールも行い、正常にインストールできました、とでたのですが、状況は変わりません。ちなみにパソコンはVistaです。説明不足のところがありましたら追記しますので、どうか回答よろしくお願いします。
- ベストアンサー
- C・C++・C#
- noname#113783
- 回答数4
- VC++IDEで実行ファイルが生産されない
Visual C++ 2008 の統合開発環境を使ってプロジェクトをビルドしたのですが、実行ファイルが生産されずに困っています。出力ウィンドウには コンパイルしています... リンクしています... コード生成しています。 コード生成が終了しました。 マニフェストを埋め込んでいます... とでました。しかしパソコン全体を探しても実行ファイルは見つかりません。コマンドラインコンパイルは問題なくできます。ソースコードは何度も見直したので間違いはないと思います。VC++の再インストールも行い、正常にインストールできました、とでたのですが、状況は変わりません。ちなみにパソコンはVistaです。説明不足のところがありましたら追記しますので、どうか回答よろしくお願いします。
- ベストアンサー
- C・C++・C#
- noname#113783
- 回答数4
- DirectX:描画されません・・・ヒント下さい・・・
VCでC++を使ってDirectXを使ったプログラムを書いてます。 そういう仕事しているわけではなく、素人です。 DirectXは色々とややこしくて、何がなんだかさっぱりです。 とりあえず、Win32APIを使って、ウィンドウを表示し、DirectXを使って、ボタンを押すことで、ウィンドウモードとフルスクリーンモードを切り替えることの出来るプログラムは作れました。 しかし、3Dのモデルが表示されません。 何が駄目なのかが、さっぱりです。 こういう場合、何に原因があることが多いのでしょうか?? DirectX経験者の方、どうか、教えてください。お願いします。 以下に現在の状況を列挙します。 足りなければ、ご指摘ください。 ソースは見せることはできるのですが、かなり、スパゲティーなので・・・・。 DirectX:November 2008 目標:Xファイルからじゃなく座標を自分で指定して立方体を描画したい 出来ていると思われること ・Win32APIを使ったウィンドウの作成 ・Direct3Dオブジェクトの作成Direct3DCreate9⇒ D3DDeviceオブジェクトのプレゼンテーションパラメータの設定 ・カメラとライトの設定 ・あと、DirectXのメソッドで背景色だけは変えられます。 経験者の方がた、よろしくお願いします!!
- ソケットプログラミング
こんにちは。 ソケットプログラミングを勉強していて、音声を送りあえるIP電話らしきものを作ろうとしています。音声のやりとりは何とかできていますが、同時に文字列も送れるようにしたいです。ソケットをもう一つ作ればいいのではないかと思っていますが、実際に書いてみると、recv()の部分がうまく書けません。 音声データの送受信の部分は: while(1){ n=recv(sock,data1,N,0); //受信 if (n== -1){perror("recv");exit(1);} if(write(dsp, data1,n)==-1){perror("write"); exit(1);} //スピーカーから出力 n=read(dsp,data,N); //マイクから入力 if (n== -1){perror("read");exit(1);} if(send(sock,data,n,0)==-1){perror("send");exit(1});} //送信 } 送信の時は n=read(0,tdata_2,N); send(sock_2,data_2,n,0); のように標準入力から文字列を読み込んで、data_2に格納し、新しく作ったソケットsock_2で送ればいいのですが、受信の時はどうしたらいいでしょうか。recv()をつかって、文字列と音声のデータを違うソケットで受け取って、違う配列に格納する方法があるでしょうか。 つまり、このような感じ(?): n1=recv(sock1,data1,N,0); //音声 n2=recv(sock2,data2,N,0); //文字列 とても悩んでますので、よろしくお願いします!!
- 締切済み
- C・C++・C#
- roena88217
- 回答数1
- Program Files(x86) と Program Files の切替
諸事情により、Windows Vista 64bitとXP 32bit上で32bitアプリケーションを開発しています。 開発環境はVisualStudio2005(これも諸事情…)でC++ + MFCです。 Program Files以下のDLL(32bit)をヘッダファイルでimportしているのですが、 32bit OSの人は"Program Files"からで 64bit OSの人は"Program Files(x86)"からと 1つのソースコード中で#defineなどで自動的に切り替える方法はあるでしょうか? ※ヘッダファイルでimportの方針も諸事情で変更できません。 現在、自分の環境に合わせてコメントアウトでごまかしていますが、 ソースコードをVSSで管理しているので、うっかり最新版に更新して ビルドすると、エラーがぞろぞろ出て要らぬ工数がかかっています。 よろしくお願いいたします。
- プリンタ用紙種類の取得
プリンタ用紙の種類を自作のアプリで表示しようとしています。 DeviceCapabilitiesでDC_MEDIATYPESを指定して用紙の種類のID(?)は 取得できるのですが、デフォルトの DMMEDIA_STANDARD(普通紙) DMMEDIA_GLOSSY(光沢紙) DMMEDIA_TRANSPARENCY(透明フィルム) 以外の名称(「EPSON 写真用紙」など)の取得方法をご存じの方がおられましたら、ご教示ください。 宜しくお願いいたします。
- 画面の更新とスレッド
ボタンを押すと、テキストボックスに10msごとに文字列を追加する関数実行するプログラムを作成したのですが、実行している間プログラムの画面の操作を受け付けなくなってしまいます。 そこで、 http://msdn.microsoft.com/ja-jp/library/ms171728(VS.80).aspx を参考にして、メインスレッド以外のスレッドからテキストボックスに書き込むようにしました。 しかし、このようにしても、 Application::DoEvents(); を、forの中で実行して強制的に画面を再描画させないと、インターフェイスへの操作を一切受け付けなくなってしまいます。 Windowsフォームの描画は、いったいどの様なタイミングで行われているのでしょうか? また、このようなインターフェイスの操作を受け付けなくなることを回避するには、 Application::DoEvents(); 以外には良い方法は無いのでしょうか?
- ベストアンサー
- C・C++・C#
- glarelance
- 回答数4
- 画面の更新とスレッド
ボタンを押すと、テキストボックスに10msごとに文字列を追加する関数実行するプログラムを作成したのですが、実行している間プログラムの画面の操作を受け付けなくなってしまいます。 そこで、 http://msdn.microsoft.com/ja-jp/library/ms171728(VS.80).aspx を参考にして、メインスレッド以外のスレッドからテキストボックスに書き込むようにしました。 しかし、このようにしても、 Application::DoEvents(); を、forの中で実行して強制的に画面を再描画させないと、インターフェイスへの操作を一切受け付けなくなってしまいます。 Windowsフォームの描画は、いったいどの様なタイミングで行われているのでしょうか? また、このようなインターフェイスの操作を受け付けなくなることを回避するには、 Application::DoEvents(); 以外には良い方法は無いのでしょうか?
- ベストアンサー
- C・C++・C#
- glarelance
- 回答数4
- 2つのダイアログ間で共通のタイマーを持たせる方法
お世話になります。 なかなかいいタイトルが浮かばず、いまいち分かりにくいタイトルになってしまいました。 なにがしたいかといいますと、 2つのダイアログ、ダイアログ1,ダイアログ2があります。ダイアログ2はダイアログ1からポップアップです。 ダイアログ1,ダイアログ2には同じ動作を示すボタンがありまして、そのボタンの動作というのが、ボタンを押すとボタンに 貼り付けているビットマップ画像が変化します。そして決められた時間が経過すると、元のビットマップ画像に戻るといった 動作をします。 その動作を2つのダイアログで共通に使いたいのです。 つまり、例えばボタンを押してから1分たったらビットマップ画像が元に戻るといった動作をするように設定したときに ダイアログ1でボタンをクリックして20秒経過し、ダイアログ2を呼び出したとします。 そして、ダイアログ2が呼び出されて40秒後(ボタンをはじめて押されてから60秒後)にボタンの画像がダイアログ1,2とも元の画像に 戻ってほしいのです。 このように動作させるにはどのようにしたらよいでしょうか? ご意見がありましたら、宜しくお願い致します。
- 質問ですが
http://oshiete1.goo.ne.jp/qa4976551.htmlのつづきで質問をしたいのですが、いろいろと教えていただいたとおりにやっていき、出来そうなところまではきたのですが、 作成したプログラムをビルドを行おうとすると **** プロジェクト C言語 の構成 Debug の ビルド **** **** 内部ビルダーがビルドに使用されます **** C言語 用にビルドするものはありません と表示され、そのままデバッグしようとすると セッションの作成エラー…(詳細)セッションの作成エラー プログラム "gdb" を実行できません: Launching failed プログラム "gdb" を実行できません: Launching failed プログラム "gdb" を実行できません: Launching failed と出てきてしまいます。 これを解消するためにはどうすればいいか教えていただけないでしょうか? コンパイラはMinGWを使っています。
- ベストアンサー
- C・C++・C#
- takoppachi
- 回答数2
- [c++] <pthread.h>がinclude できない
Visual C++ 2008 Express Edition Windows XP Professional SP3 以下のコードがコンパイルできない ーーー #include <pthread.h> ーーー エラー内容 include ファイルを開けません。'pthread.h': No such file or directory LIBをインストールしたりする必要がありますか?
- 締切済み
- C・C++・C#
- noname#86217
- 回答数3
- 64bit環境で32bitでコンパイルするオプションはあるのでしょうか?
WindowsXP x64の環境でVC++2005でコンパイルすると64bitを生成しますが、リンクするモジュールが32bitなので、エラーになります。 fatal error LNK1112: モジュールのコンピュータの種類 ‘X86′ は対象コンピュータの種類 ‘x64′ と競合しています。 強制的に32bitでコンパイルするオプションはあるのでしょうか?