Situgyosya の回答履歴

全68件中21~40件表示
  • Visual C++ Express Editionのランタイムなしで起動する方法

    いま、Visual C++ Express Edition を使って、開発しています。 前回、同じようなことを質問したのですが いまいちわからなかったので、もう一度質問させていただきます。 Visual C++ Express Edition で作ったWin32アプリケーションは、 VCランタイムが必要らしいですが、 VCランタイムをほかのPCにインストールしなくても 起動できるようにはできないのですか?

  • 点Qから最短距離の点Piを効率的に求めたい

    平面上にP1,P2,...,Pnが与えられています。 このとき、任意の点Qを与えると、Qからの距離の最短の点(等距離の点が複数あれば、そのうちの任意の1点)を返す関数(任意といった時点で数学的には関数でなくなっていますが)が欲しいのです。 単純に考えれば、forループで、全てのPiとの距離を求め、最短のPiを返せば良いのですが、点Qが移動する場合、直前のQに対応するPiである可能性が高いので、もう少し賢いアルゴリズムがある気がします。しかし、具体的なアルゴリズムが思いつきませんので、お知恵をお貸しください。 プログラミングはCを想定しています。

  • 点Qから最短距離の点Piを効率的に求めたい

    平面上にP1,P2,...,Pnが与えられています。 このとき、任意の点Qを与えると、Qからの距離の最短の点(等距離の点が複数あれば、そのうちの任意の1点)を返す関数(任意といった時点で数学的には関数でなくなっていますが)が欲しいのです。 単純に考えれば、forループで、全てのPiとの距離を求め、最短のPiを返せば良いのですが、点Qが移動する場合、直前のQに対応するPiである可能性が高いので、もう少し賢いアルゴリズムがある気がします。しかし、具体的なアルゴリズムが思いつきませんので、お知恵をお貸しください。 プログラミングはCを想定しています。

  • スタックとキューについて

    書籍やサイトに書かれている内容は分かる(見た目)のですが、 だから何なのでしょうか? どういったことに応用が効きますか? 難しい事はわからないので具体例を示していただけると助かります。 宜しくお願いします。

  • 音のミキシング

    教えて頂けますか? 2つ以上のpcm データをミキシングするには、 単純にビットを加算して割れば良いのでしょうか? よろしくお願いします

  • 複数のファイルを一度に開きたい

    こんにちは_dejitto_です。 現在、下記のような内容の顧客管理プログラムを作成しています。 (1)指定したファイルを開く (2)ファイル内の顧客データに不適切な文字列があれば取り除き別ファイルに保存 (3)問題がなければそのまま終了。 プログラム自体はほぼ出来上がっているのですが読み込むファイルの数が多く一つ一つ開くのが面倒です。 ファイルを開く時に複数個選択して一度に読み込み処理を実行したいのですがどういった記述をすれば良いでしょうか? また、ファイルは地域毎にフォルダに分けてあるのでできるなら「フォルダ内にあるファイルを全て選択する」といった形をとりたいです。 使用しているのは"C++Builder6"です。 プログラムを始めて数ヶ月の初心者なものであまり上手く説明できませんがご教授のほどよろしくお願いします。

  • 数値データの波形データから小さな山を検出

    現在音声波形を扱っており、そのなかでWavファイルを数値データ化した音声波形から 山を検出したいと思っているのですが、何かよい方法はないでしょうか? 厳密には、小さな山を検出してそれを取り除きたいと思っています。 音声波形のデータは単純な整数値で、音声データ自体は5秒ほどのものです。

  • メルセンヌツイスターが使えない

    C++でメルセンヌツイスターのランダムクラスをstaticで作ろうとしたのですがクラスの中に変数を宣言しているにもかかわらず "private: static unsigned int * MyRando::mt" (?mt@MyRando@@0PAIA)" は未解決です。 というエラーが出ました。 このエラーはどうすれば消せるのでしょうか? ちなににstaticをつけない普通のクラスとして宣言すれば使えました。

  • DIBヘッダ

    DIBヘッダって何ですか?

  • TCP/IP通信プログラミングにおけるデータ送信タイミングと受信データ処理のタイミングについて

    現在Winsockを用いてTCP/IPメッセージ通信を行うプログラムを作成 しています。 メッセージはヌル文字区切りで送信され、ヌルが発見されると一つの メッセージの終わりということにしてあります。 このメッセージを時間ウェイトを入れずに連続して送信すると受信側で 正常にデータが受信できず、送信したデータの一部しか受信できません。 ある程度の時間ウェイトを入れてやることで正常に送受信できるように なります。 受信側の処理において、recvでデータを取得した後にメッセージパーズ 処理を入れているのですがそれほど重い処理でもありません。いろいろ 調べたのですが正常に送受信するときとしないときの違いが連続送信時 に入れる時間ウェイトにあるということしかわかっておりません。 これがTCP/IPの特性なのか私の開発環境(PC・ネットワーク)に起因する ものなのかがわかりません。どなたかこういった現象についてご経験を お持ちの方がおられましたらご教授願いたいと思っております。 以上

  • MFCで値の渡し方について

    MFCで、プログラムを作成しているのですが、 bool CPitPosInfo::AnalyzePacket( char* pData, int size ) { ここで、pDataとsizeの内容を解析するプログラムです。 } という関数にm_pDataをpDataへm_DataSizeをsizeへ値を渡すというのはどうしたら良いのでしょう・・・。 あまりにも初歩的過ぎて、誰にも聞けません。 教えてください。

  • マルチスレッドでブレイクポイントするとフリーズする

    C++/CLI .Net2008 windowsフォームアプリケーション 二つのスレッドが同時に動いているマルチスレッドプログラムを作成しています。 デバッグでブレイクポイントを張って途中で止めたいのですが、止めてすぐもしくはF10で2,3行進めるとフリーズしてアプリが動かなくなってしまいます。他のoutlook等も動かせず、タスクマネージャも開かないため、画面下のウィンドウを右クリック、閉じるを5~10分くらいかけて行って終了させています。たまにVisualStudio自体もフリーズして落ちることがあります。 ブレイクポイントで止めなければフリーズはしません。 プログラムの構成としては、 片方は外部装置からリアルタイムでデータを受信し、判別した結果を出力するスレッドと、その判別結果を元に状態を遷移させるスレッドです。 また、状態によってはタイマーを設けている箇所があり、タイマー処理もスレッドで行っています。 ブレイク張らずに実行した時におかしい動作をしている箇所があるので1行ずつ見たいのですが、マルチスレッド環境ではフリーズするものなのでしょうか?

  • 関連付け起動と起動時のメッセージ

    VC++6+WinXPにてプログラミングしています CWinAppのInitInstance()にて下記コードを実行しファイルの関連付け起動を行っています。 CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); しかし、起動時にはアプリが制御する機械の状態によって、機械の初期化メッセージを表示する必要があるため、同InitInstance()内でAfxMessageBox()によってメッセージを表示させていますが、メッセージが表示される場合は、ファイルが開きません。 メッセージを出すタイミング等についてアドバイスいただけるようでしたら、お願いいたします。

  • WinsockによるUDP通信にて

    WinsockでUDP通信を行うプログラムを作っているのですが、 原因不明の問題が発生していて困っています。 通信手順は以下のとおりです。 (1) クライアントからサーバへ要求パケット送信 (2) 要求パケットを受け取ったサーバは、クライアントへACKを送信 (3) サーバが要求に対する応答パケットをクライアントへ送信 (4) 応答パケットを受け取ったクライアントは、サーバへACKを送信 クライアント-サーバ間でやりとりするデータは最大で992バイト、 それ以上になる場合は、分割して送信します。 パケットの分割が発生しない場合は、(1)~(3)がパケットの損失もなく通信できるのですが、 パケットの分割が発生する場合には、2回目以降の(4)のパケットがクライアントに届きません。再現率は今のところ100%です。 クライアント側のselect関数でもソケットを検出しません。 たしかにUDPは信頼性が低いですが、パケット分割が発生しないパターンでは100%届くので、UDPの仕様とは関係ないような気がします。 原因がさっぱりわからないので、アドバイスをお願いいたします。 ちなみに、クライアント、サーバともに同一端末内にあります(双方がループバックアドレスに対してパケットを送信)が、 これはテスト段階だからであって、本来はそれぞれ別々の端末で動作します。

  • ポインタのポインタ

    ポインタのポインタは何に使うか知ってるか? と言われ答えられませんでした。 メモリ上の xという変数の住所を yという変数に入れ、yの住所を zに入れる。 要するに、 ATMの4ケタの暗証番号を書いた紙xがあって、 そのありかをyという紙に書いて、 そのありかをzという紙に書いたということでしょうか? でもzを読めばyにたどり着き、yを読めばxにたどり着くわけですから、 暗証番号を隠したことにちっともならないと思うのです。 いったい、何に使うのでしょうか?

  • VC++でテキストエディタを作ろうと思っています

    VC++でテキストエディタの作成を考えています。 出来上がったテキストエディタでソースを作成する際に、 行数が表示させられるようにしたいと考えています。 何か良い方法はありませんでしょうか 宜しくお願い致します。

  • オブジェクト指向による座標変換とクラス構造

    オブジェクト指向的プログラミングをすると以下はどうなるのか、結構悩んでおります。 流れ: 或る物体が有る  ・位置情報算出のためのパラメータを変数にセット  ・時刻情報を入れ、上記パラメータより、或る時刻における位置が求まる   (計算に必要なパラメータを代入したら時刻情報がたぶん唯一の引数になります)  ・原点はそのままでXYZ軸に対して回転座標変換を施す  ・結果が求まる。 悩み: 初めに与えたパラメータを保持しておきたい。 座標変換を行った前と変換後の座標も保持しておきたい。 こういった場合、どういうアプローチが良いのでしょうか? 従来型のプログラミングですと構造体を引き回すことになりますが、パラメータと変換後の座標を独立して保持することになり、スマートな気がしません。 折角オブジェクト指向を使うので出来れば全て1パックにしておくのが望ましいと思うのですが、メンバ、メソッド…どうすれば良いのか分からず、こちらで質問させていただきます。 よろしくお願いします

  • 共用体のアドレスを取得したい

    SH7047のプログラムです。 何をしたいのかと言うと、P_PORTD.PDDRL.BIT.PD4DR等を関数の中で変化させたいのです。 うまく行かない理由はおそらく「P_PORTD.PDDRL.BIT.PD4DRのアドレスは渡すことが出来ない」だとおもいます。 まぁそれも当然な話だと思うのですが、どうにかならないでしょうか? 個人的には「unsigned short* port」→「bit* port」の様に出来れば理想的なのですが。 何か良い方法を教えてください。よろしくお願いします。 #define P_PORTD (*(volatile struct st_portd *)0xFFFF83A2)/* PORTD Address */ struct st_portd { /* struct PORTD */ union { /* PDDRL */ unsigned short WORD; /* Word Access */ struct { /* Bit Access */ unsigned short :7; /* */ unsigned short PD8DR:1; /* PD8DR */ unsigned short PD7DR:1; /* PD7DR */ unsigned short PD6DR:1; /* PD6DR */ unsigned short PD5DR:1; /* PD5DR */ unsigned short PD4DR:1; /* PD4DR */ unsigned short PD3DR:1; /* PD3DR */ unsigned short PD2DR:1; /* PD2DR */ unsigned short PD1DR:1; /* PD1DR */ unsigned short PD0DR:1; /* PD0DR */ } BIT; /* */ } PDDRL; /* */ }; /* */ void main(void) { output(&P_PORTD.PDDRL.BIT.PD4DR,0xff); output(&P_PORTD.PDDRL.BIT.PD5DR,0xff); output(&P_PORTE.PEDRL.BIT.PE12DR,0xff); } void output(unsigned short* port,int data) { P_PORTE.PEIORL.WORD = 0x3fff; P_PORTE.PEDRL.WORD = data & 0xff; *port = 1; *port = 0; P_PORTE.PEIORL.WORD = 0x3f00; }

  • コントロールのフォーカスが横取りされた場合の対応

    VC++(6.0)/MFCにてアプリを開発しています。 メイン画面上にリストボックス・リストビュー・ボタンの各コントロールを配置し、 ユーザがいつでも操作できるようになっています。 そこで、ユーザがリストボックス等をマウスにてスクロール中に、バックグラウンド 処理でモーダルダイアログを表示すると、マウスダウン中に突然フォーカスが失われ るため操作中のコントロールに対しマウスアップメッセージが送信されずモーダルダ イアログ側へフォーカスが強制的に移動してしまいます。 操作中のコントロールは、マウスアップイベントが送信されていないため、奇妙な動 きをするようになります。 この場合、画面上の全てのコントロールに適応可能な「フォーカスが失われたよ」的 な処理を実装したいのですが、どのようにすればよいのでしょうか。 現在は、コントロール単位でオーバーライドしてLostFocus等で処理しています。 よろしくお願いします。

  • エントリポイントという名前の使い方

    C言語でWindowsプログラミングの勉強をしています. DLLを作成する際の関数として,エントリポイントというのがありますが, これはDLLがロードまたは解放される時に自動的に実行される関数のことで すよね. ですが,ある本に,「GetProcAddressで任意のエントリポイントのアドレ スを取得する」という記述がありました. GetProcAddressの仕様として間違いではないのでしょうが,上記の文章の 「エントリポイント」を「DLL内の関数」で置き換えれば納得がいきます. エントリポイントという言葉の定義をWikipediaで調べても,任意の関数の アドレスという意味は見当たりませんし,本が間違っているのかはわかり ませんが,DLLを使用する際の関数のアドレスの意味で「エントリポイン ト」という言葉は使われるのでしょうか?

    • 締切済み
    • noname#129397
    • C・C++・C#
    • 回答数3