検索結果 939 件

by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: string型からの変換 .c_str() について
返信数: 9
閲覧数: 1937

Re: string型からの変換 .c_str() について

C++/CLIでやるならば,<stdio.h>系を使うのではなく,System::IO系を使います。
そもそも,std::stringではなく,System::Stringですし。
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: CとC#の列挙型の違いについて
返信数: 7
閲覧数: 1373

Re: CとC#の列挙型の違いについて

Cではenum列挙体を使いたいときは enum CAT { tama, pochi, taro }; enum CAT cat; これは,列挙型CATの宣言とCAT型の変数catの宣言です。 C#の列挙型は enum CAT { tama, pochi, taro }; これは,列挙型CATの定義です。 C#で列挙型の変数が必要なら, CAT cat; と書けば定義できますし,Cでも変数の宣言をせず tama と書けば列挙値を利用可能です。 C#では列挙型はスコープを作成するので, CAT.tama のように書く必要がありますが。
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: templateで生まれうる再帰型に対する特別な制御の方法について
返信数: 11
閲覧数: 2308

Re: templateで生まれうる再帰型に対する特別な制御の方法について

 部分特殊化である程度やりたいことは出来そうですが、再帰がより深い型に対して一々定義するのは避けたいのです。私の定義の仕方が悪く、よりよい方法があるのかもしれません。 再帰を持たないWrap<T>型と Wrap<Wrap< ・・・・ T ・・・・ >> 型のような再帰する全ての型(深さは問わない)とを別に扱いたいのです。 Wrap<T>とWrap<Wrap<T>>が区別できれば,あとはWrap<Wrap<T>>はWrap<T>を使いながら実装できないのでしょうか。 例示されている部分だけだと,以下のようにすれば, wrapping_typeはWrapの直接のテンプレートパラメータ型 type...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: templateで生まれうる再帰型に対する特別な制御の方法について
返信数: 11
閲覧数: 2308

Re: templateで生まれうる再帰型に対する特別な制御の方法について

部分特殊化がしたいということでしょうか。

コード:

template <typename T> class Wrap { /* ... */ };
template <typename T> class Wrap<Wrap<T> > { /* ... */ };
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタの基本部分についての質問
返信数: 10
閲覧数: 2150

Re: ポインタの基本部分についての質問

scanf("%9s", sex); fflush(stdin); のほうが全然読みやすいんですよね。 fflush(stdin);の意図はなんでしょうか。 未定義の振る舞いなので使うべきでは無いですし,特定の環境においての動作を想定しているのであればその環境を提示する必要があります。 # scanfだけなら標準の範囲内なので意味がわかるけれども,fflush(stdin);があるので意図が全く想像できない。 ISO/IEC 14882:2011はfflush関数に関してISO/IEC 9899:1999の規格を参照するだけで,ISO/IEC 9899:1999では「出力ストリーム」か「最終...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: CentOS 6.6 で ASP.NET + サードパーティ製コンポーネント
返信数: 2
閲覧数: 1083

Re: CentOS 6.6 で ASP.NET + サードパーティ製コンポーネント

次のステップとして、このサンプル Web アプリに .NET Framework 上で動作するサードパーティ製のコンポーネントを追加し、このサードパーティ製のコンポーネントが機能するかどうかを検証したいのですが、ボタンがクリックされたときにこのコンポーネントに関係した処理を実行すると、以下のエラーが表示されます。 「Could not open display (X-Server required. Check you DISPLAY environment variable)」 X サーバ/X クライアントと DISPLAY 環境変数のことを指していると思われますが、どう対処して良いものか...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: オブジェクトの解放について
返信数: 2
閲覧数: 804

Re: オブジェクトの解放について

DirectX9のプログラムではアプリケーションの終了時にLPDIRECT3DDEVICE9変数などを解放しますよね。 これは手元の本によるとメモリリークを防ぐためのものと書かれていますが、 調べてみると最近のOSならばアプリケーションごとにメモリが確保されていて、アプリケーションが終了した時点でそのメモリは全て自動で解放されるという情報も見られました。 ということは、今は上記のLPDIRECT3DDEVICE9変数のような、アプリケーションの終了時にしか解放のタイミングが考えられないようなオブジェクトはわざわざ解放処理を書かなくても問題ないのでしょうか? オブジェクトの解放で解放されるのは...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: ショートカットの作成
返信数: 3
閲覧数: 1113

Re: ショートカットの作成

ちゃんとMSDNに当たりましょう。 MSDNには,シェルリンクを作成するためのコードがちゃんと記述されています。 lpszPathLinkの型がLPCWSTRではなくLPCSTRである点など,関数仕様に疑義はありますが references) IShellLink interface IPersistFile interface Shell Links 最後のページに書かれているコードの,lpszPathLinkの引数型をLPCWSTRにし,MultiByteToWideCharで変換する部分を削り,main関数を追加して実行しましたが,普通にCSIDL_DESKTOP (CSIDL_DESK...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: A=B=C=D=100; のような書き方はどうでしょうか
返信数: 6
閲覧数: 1945

Re: A=B=C=D=100; のような書き方はどうでしょうか

解決となっていますし,今まで投稿していない人間がしゃしゃり出てきて書くのもなんですが,結論の方向が明後日を向いているような気がしたので……。 これからはアセンブラ言語を勉強して、さらに研究していこうと思います。 アセンブリ言語の勉強よりも,nullptrさんの投稿 (特に前段) をちゃんと理解した方がよいかと思いますよ。 そもそも,速度が出るようにアセンブリ言語で書こうとすると,対象プロセッサを決定し,そのプロセッサの特性を理解し,各命令がどのようにパイプラインを使うかも知った上で,その時点でのキャッシュがどうなっているかも勘案して実行順序も決めていく必要があります。 8086とかの牧歌的な時...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】PCの買い替えについての相談(?)+αの質問
返信数: 12
閲覧数: 2654

Re: 【雑談】PCの買い替えについての相談(?)+αの質問

Windows 8.1とWindows 10のデュアルブート,というのにあまり利便性を感じませんが。 Windows 7/8/8.1からWindows 10へのアップデートは,最初1年間程度は無償とされているため,Windows 8.1を使わなくなった場合に無駄な投資となる可能性があります。 さらに,最初から入っているWindows 8.1のライセンスがそのPCに紐付いている可能性もあり,そうするとそのライセンスを(アップデート元としても)他に流用できない,ということになります。 プリインストール系でP2V可能なライセンスかどうかは不明。 EULA読む限り,仮想マシンは物理マシンと別のコンピュ...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: リダイレクトしたとき、リファラはどこまでサイト管理者に情報を伝わりますか。
返信数: 1
閲覧数: 1154

Re: リダイレクトしたとき、リファラはどこまでサイト管理者に情報を伝わりますか。

HTTP通信において,Refererフィールドには直前の一つまでしか含まれません。
そして,現在の標準的なAPIセットに,(現在のURIを除く)閲覧履歴のURIを取得する方法は用意されていません。

よって,あるサーバーへのHTTP(s)によるアクセスで細工無く取得可能な閲覧履歴は,HTTPのRefererに含まれる値のみとなります。
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: ゲームサーバー構築について
返信数: 38
閲覧数: 12342

Re: ゲームサーバー構築について

Apacheサーバーを構築してからサーバー側はC#で書いてみようと思います。 今のタイミングでサーバーがApache + (mod_mono + XSP + mono +) C#はあまりお薦めしませんが……。 ASP.NET 5の進み具合次第で,最適解が変更になる可能性が高い分野ですし。 ちょうど.NET CoreのOSS化,.NET Server FrameworkのLinuxへの提供,kなどの実装が現在進行形で進んでいるところのため 土台さえしっかり作ってあれば同時接続数を増やす事自体は可能だと思いますので、もし公開するとしたらそこで通信量などを見つつ限界を決めようかと思います。 同時接...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: 単振り子についての質問
返信数: 4
閲覧数: 989

Re: 単振り子についての質問

しかし、CosとSinを用いて内積外積を求めるところがうまくいかないため、皆さまの知恵をお貸ししていただきたいのです。 「うまくいかない」とはどういうことでしょうか。 基本的に,「うまくいかない」とは「私の考えているとおりに動いていない」としか言っていないのと同じなので, 回答できることは「あなたの書いたコードはあなたの動かしたいように書かれていない」だけです。 質問の仕方がわからないのであれば,フォーラムルール内にあるテンプレ (C言語はC#に読み替える) を使ってみるとよいでしょう。 箇条書き部分の 最初の項目と最後の項目とは矛盾してないのだろうか? 紐に弛みがないとは書いていないので,...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: C# プログラムの反応の改善
返信数: 6
閲覧数: 1290

Re: C# プログラムの反応の改善

Control.Invalidateは領域を無効化するだけです。
実際に再描画が必要になるまで,描画はなされません。

すぐに描画をしたいのであれば,MSDNにあるようにInvalidate後にUpdateするか,
Invalidate + UpdateのかわりにRefreshメソッドを呼び出します。
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: C#フォーム pictureBoxに表示させた画像が描画後すぐに消える
返信数: 4
閲覧数: 6087

Re: C#フォーム pictureBoxに表示させた画像が描画後すぐに消える

Paintイベントの引数であるeやe.GraphicsをDisposeしてはいけません。

Paintイベントは複数登録することが可能です。
しかし,最初に実行されたPaintのイベントハンドラでeがDisposeされた場合,その後に呼び出されるイベントハンドラ中でeを使おうとすると,ObjectDisposedExceptionが発生するかもしれません。
eやe.Graphicsなどは呼び出し側が所有権を持っているので,破棄する作業は所有権を持っている呼び出し側が行う必要があり,呼び出された側が勝手に破棄してはいけないものです。
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: C#フォーム pictureBoxに表示させた画像が描画後すぐに消える
返信数: 4
閲覧数: 6087

Re: C#フォーム pictureBoxに表示させた画像が描画後すぐに消える

WinFormsにおいて,コントロールへの描画は基本的にPaintイベントで行います。
CreateGraphicsメソッドの解説にも書いてはあるのですが,Control.CreateGraphicsで作られたGraphicsオブジェクトに対して行った描画は,再描画が必要になっても描画されません (描画できません)。

コントロールへの描画は,コントロールのPaintイベントで行い,描画内容を変更したい場合は対象となるコントロールのRefreshメソッドを呼び出すことでPaintイベントを発生させて行う必要があります。
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: ポリゴンと楕円の描画&WPF & DirectX
返信数: 3
閲覧数: 1234

Re: ポリゴンと楕円の描画&WPF & DirectX

そもそもC++/CLIでWPFを扱うことはあまりないと思いますが……。 WPFはWindowsのUI作成用の技術で,WInFormsを代替する物です。 内部的にはDirectXを使ってボタン等を描画していますが,あくまでUI作成用です。 # DirectXで直接描画しているために,ウィンドウとWindowsFormsHostコントロールを使っているようなコントロール以外はHWNDを持たない。 元々の目的が違うため,どちらを使用するかの基本的な指針は簡単に作れます。 通常のアプリケーションを作るのであればWPFを,ゲームを作るのであればDirectXを,それぞれ使うのが基本的な選択肢だと思います...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルのMD5ハッシュを計算するライブラリ
返信数: 3
閲覧数: 1754

Re: テキストファイルのMD5ハッシュを計算するライブラリ

ファイルパスから直接,というライブラリはあまりないとは思いますが……。 ユーザーがファイルを開いてデータを読み込んでハッシュ関数に渡してMD5算出する,というのが難しくなく,汎用のハッシュ関数があれば十分という事情もあると思います。 ハッシュ関数自体は,Windowsだと Cryptography Functions の一部である Hash and Digital Signature Functions を 利用 したりできますし, 他の環境でも OpenSSL の MD5 (@libcrypto) 関数群を使う等で処理できます。 MD5のアルゴリズムは512ビット単位で処理されるので,この倍...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: ターン制ストラテジーゲームを作っているのですが・・・
返信数: 13
閲覧数: 3098

Re: ターン制ストラテジーゲームを作っているのですが・・・

その地点までの移動コストを記録していかないと,回り込まないと移動できないような場合に対処できなくなったり,移動可能な距離が短く算出されたりしますね。 see) http://dixq.net/forum/viewtopic.php?f=3&t=12639 今は1~Player.Moveマス移動出来る様になっていますが、これをPlayer.Moveマスの移動に変えたいです。 地形の移動コストが常に1でPlayer.Moveが3の時に,「上左下」と動いて左隣のマスに移動は許可するのでしょうか。 同様に,Player.Moveが4の時に「上左左下」と動いて,2つ左のマスへの移動は許可するのでしょうか...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: mutexのデッドロック
返信数: 4
閲覧数: 1627

Re: mutexのデッドロック

usagi さんが書きました:上記の関数が複数のスレッドにて動いている場合、
デッドロックは起きますか?
同時に1つの資源に対するロックしか使わないのであれば,原則としてデッドロックは発生しません。
デッドロックは,2以上のスレッド(等)が,それぞれ1つ以上の資源を確保した状態で,お互いの持っている資源を確保しようとして発生するためです。
# 以上は,最適化と称してコードの順序を入れ替えて,結果的にロックが多重化されるような状況を除く。
usagi さんが書きました:> 「何かの処理」が何なのかによるのではないかと思います。
h2so5さんがこう書かれたのは,「何かの処理」で資源1や資源2に対するロックがある可能性を考えてのことだと思います。
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: WinSockでレスポンスの受け取り
返信数: 8
閲覧数: 1755

Re: WinSockでレスポンスの受け取り

このようにしていたのですが、「問題が発生したため、終了します」っていうエラーが出てしまって。。。 結局原因がわからず、whileを外して放置してました。 ちゃんとデバッグしましょう。 そもそも,「問題が発生したため……」はIDE等のデバッガを使っていない場合にWindowsが未処理の例外を検出した場合のメッセージだと思うのですが。 どこでそのエラーが起きたかを確認するためにも,IDEでのデバッグは必須です。 HTTPのヘッダは確かに文字列ですが,それに続く本体は文字列とは限りません。 image/pngなどの画像もありますし,application/octet-streamという「8ビットの...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: WinSockでレスポンスの受け取り
返信数: 8
閲覧数: 1755

Re: WinSockでレスポンスの受け取り

なんでacceptしたSOCKETに対してのrecvsendの戻り値を確認していないのですか。
そして,recvの戻り値を知らずに,どうやって送られてきたデータの終端を判断しようとしているのですか。
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: error C2047が消えません
返信数: 4
閲覧数: 917

Re: error C2047が消えません

41行目,)と{の間に;が含まれています。
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: 配列を逆順にするプログラムについて
返信数: 16
閲覧数: 4527

Re: 配列を逆順にするプログラムについて

書いている間に返信が付いていますが,せっかく書いたので投稿してしまいます。 さらに, 実際に値を入れた配列ひとつとその大きさを引数にしてこの関数を呼び出し, 任意の大きさの配列が逆順に並び替わることを確かめるプログラムを 課題2の後に追加し,実行して確かめなさい. 」 というのがでました。自分なりにプログラムを作ったのですが思うような結果が出ません;; 「思うような結果」と,「実際の結果」を書いてください。 プログラムは書いたとおりに動くのですから,「思うような結果」は書かないと伝わらないです。 で,a_int_rev2で逆順にしたあと,それを確認するコードがないです。 a_int_rev2の...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: .Net4.0以降の非同期処理について
返信数: 3
閲覧数: 1214

Re: .Net4.0以降の非同期処理について

単純にデータ並列であるのならば,作成側はデータを BlockingCollection に放り込んでおいて,処理側は GetConsumingEnumerable を AsParallel して取り出せばよいでしょう。 ここまでは典型的なConsumer-Producer Patternだと思います。 生成されたデータに関しては,処理を行うSelectの直後にSelectなり ForAll なりした中でUIスレッドへコールバックして処理をすることになると思います。 ちなみに,PLINQを利用した場合,デフォルトでは,論理CPU数 (但し,最大64まで) の並列化が行われます。 当然ながら,別に...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: Visual Studioを更新するかどうかで迷っています
返信数: 10
閲覧数: 6311

Re: Visual Studioを更新するかどうかで迷っています

とりあえず,VS 2013の (IDE自身の) 大きな利点はgitネイティブサポートがあるかと。 コマンドラインなり別のGUIを使う方が便利なことも多いとはいえ,VS上でdiff表示ができたり,commitできたり,resetできたりは便利です。 あと,nugetもネイティブになりましたが,C++ではあまり使わないかもしれません。 # 野良boostパッケージがいくつかあったりするので,使えなくはないですが。 で,互換性的な面について。 VS 2010 SP1以降,ソリューションファイルやプロジェクトファイルは互換性が非常に高くなっています。 VS 2013で作ったソリューションファイルを,V...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: android twitter リストビューにてActivityThreadで例外が発生する
返信数: 4
閲覧数: 1181

Re: android twitter リストビューにてActivityThreadで例外が発生する

ちゃんとデバッグしましょう。 例えば,例外のオブジェクトの java.lang.Exception # getStackTrace や,同# printStackTrace を見て実際にNullPoiinterExceptionが発生する場所を調べるとか, デバッガでtryブロックの先頭にブレイクポイントを置いて一行ずつステップ実行してみるとか。 NullPointerException の主たる原因は, インスタンスメソッドを呼び出す時に,呼び出し元オブジェクトがnullである nullを許容しない引数にnullを渡した です。 実際にNullPointerExceptionの発生する箇所を...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: vbで指定した画像にマウスカーソルを移動させるには
返信数: 11
閲覧数: 2823

Re: vbで指定した画像にマウスカーソルを移動させるには

そもそも,画像を表示するのは
  • 自プロセス
  • 他プロセスだがコード変更可能
  • 他プロセスで,コード変更不可能
のどれでしょうか。
前2つなら,画像を表示したことを通知することで対応ができそうですが……。
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: 古いですがVC2010にて質問です
返信数: 3
閲覧数: 810

Re: 古いですがVC2010にて質問です

解決となっていますが,一応Win32の範囲内で。 CryptAcquireContext function でCSPのハンドルを取得 CryptCreateHash function に CALG_SHA_256, CALG_SHA_384, CALG_SHA_512 を与えてハッシュオブジェクトのハンドルを取得 CryptHashData function でデータをハッシュ CryptGetHashParam にHP_HASHVALを渡してデータを取得 CryptDestroyHash function でハッシュオブジェクトを破棄 CryptReleaseContext function...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: c#またはvbでパケットを送信するコードを教えてください
返信数: 8
閲覧数: 2510

Re: c#またはvbでパケットを送信するコードを教えてください

質問者です さんが書きました:上の質問のパケットデータを指定のサイトに送信する
サンプルコードを教えて下さい
MSDNに例がありますが,何がわからなかったのでしょうか。
また,その例を理解するのに何をしたのでしょうか。

コピペであってもMSDNの例を使ってテストをし,自分のやりたい動作ができるかどうかを修正しつつ試すということが高々9分でできるとは到底思えません。
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: C#のDnsクラスを使ってwebサーバにアクセスしたい
返信数: 4
閲覧数: 1717

Re: C#のDnsクラスを使ってwebサーバにアクセスしたい

URIにfile以外のスキームが使われているのであればSystem.Net.Sockets.Socketクラス fileスキームであるならばSystem.IO名前空間の各クラス これらはどこを見たら判断できるのでしょうか、 URIの先頭から,最初の:の直前までがスキームです。 ref) URI Generic Syntax 3. Syntax Components あと、自分の開発環境では .NetFreamwork 4.5が使えないので System.Net.Http.HttpClirentが使えないのです 「など」です。 そもそも,HTTPでないプロトコルを指定するようなスキーム (e....
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: C#のDnsクラスを使ってwebサーバにアクセスしたい
返信数: 4
閲覧数: 1717

Re: C#のDnsクラスを使ってwebサーバにアクセスしたい

えーっと, System.Net . Dns は,MSDNにあるように, 単純なドメイン名解決機能を提供します。 というクラスです。 URIのホスト部を実際に接続するためのIPアドレスに変換するための機能 (やその逆変換機能) は持っていますが,URIを指定するとそのスキームに依存した接続を行うような機能はもっていません。 さらに,名前解決を行うといっても,システムの解決機能を呼び出すためのものであり,DNSサーバーを指定して解決するような機能も持っていません。 現状の情報からであると, URIにfile以外のスキームが使われているのであれば System.Net.Sockets . Sock...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: Windows8.1Enterprise評価版のDLについて
返信数: 2
閲覧数: 706

Re: Windows8.1Enterprise評価版のDLについて

どちらかと言うと,MSのサポートに問い合わせる案件な気もしますが……。

他のブラウザで試してみる,というのも手段かと思います。
# ときたま,サイトに依らずIEでダウンロードに失敗することがあるので。
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: VC++2010 UPnPポート開放
返信数: 22
閲覧数: 6722

Re: VC++2010 UPnPポート開放

うーん……。 こちらで試したところ,少なくともリンカのエラーに関して,最小限のコード #include <Windows.h> #include <natupnp.h> #pragma comment(lib, "ole32") int main() { ::CoInitialize(nullptr); ::IUPnPNAT * upnpNat; return ::CoCreateInstance(CLSID_UPnPNAT, nullptr, CLSCTX_ALL, IID_IUPnPNAT, (void **)&upnpNat); } に対して,エラーは起きないのですが……。 [(プロジェ...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: Androidの話で申し訳ありません
返信数: 9
閲覧数: 1499

Re: Androidの話で申し訳ありません

Androidからデータを取得するために呼ばれるのであれば,サーバー側,つまりPHPはHTMLでなくJSONやXMLを返すようにすべきです。 PHPにおいて,mysql APIの使用は非推奨になっています (PHP 5.5.0以降)。PDOか,mysqliを使用してください (特別な理由がないならPDOを推奨)。 mysql APIでも,文字コードの設定にはmysql_queryでSET NAMESするのではなく, mysql_set_charset を使います。 ちなみに,サーバーアプリがAndroid端末にHTTPリクエストを送信するのはよっぽどの状況だと思います。 通常は,Androi...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: VC++2010 UPnPポート開放
返信数: 22
閲覧数: 6722

Re: VC++2010 UPnPポート開放

uuid.libをリンクしてみてはどうでしょうか。 CLSID_UPnPNAT library link でググったところ,最初に見つかったのが IUPnPNAT というページ (newsgroupのアーカイブサイトっぽい)で, そこにはuuid.libをリンクしろ,とMSの人の投稿がありました。 ただ,情報が古いために一応SDKのlibディレクトリで, FOR %A IN (*.lib) DO @( ECHO %A dumpbin /symbols %A | find "UPnPNAT" ) を実行したところ,uuid.libのみにCLSID_UPnPNATとIID_UPnPNATが定義され...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: SQLでGROUPを二重に絞り込む
返信数: 5
閲覧数: 2838

Re: SQLでGROUPを二重に絞り込む

今回の場合,MySQLならINTERVALは使えます。 で,WITHの部分は,test_with_month as tのtest_with_month部分をWITHの括弧部分にそのまま置き換えれば,おそらく動くはずです。 今回共通表式 (CTE) を使ったのは,単純に見やすくなるからだけなので,JOINされるテーブル部分をそのまま置き換えることができます。 再帰共通表式だった場合,置き換えは大変ですが……。 CTEはMySQLのロードマップに 入っていない (in 2010) とか。 しかもhoge3の行で「ON ON」と重なってますが・・・ 単純にミスりました……。 もしSQLServer2...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: C#でデータテーブル同士の結合について
返信数: 6
閲覧数: 5150

Re: C#でデータテーブル同士の結合について

DataRelation は,外部キー制約を DataSet に持ち込むためのものです。 でもって, DataTable にSQLのView相当の機能はありません。 ただし,DataRelationを使って, DataRow から GetParentRow や GetChildRows によってリレーションによって結ばれたDataRowを引っ張ってくることが出来ます。 また, 型指定されたデータセット にテーブルとリレーションを用意しておくと,最初から専用のメソッドやプロパティを用意してくれます。 ref) Visual Studio でのデータセットの操作 ただ,DataSetが使いやすい...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: SQLでGROUPを二重に絞り込む
返信数: 5
閲覧数: 2838

Re: SQLでGROUPを二重に絞り込む

月単位にするには,日付型を計算して月の初日を出して,その値をGROUP BYするのが簡単だと思います。 WITH test_with_month AS ( SELECT code, date - INTERVAL DAY(date) DAY + INTERVAL 1 DAY mon FROM test ) SELECT t2.code code, SUM(t2.kosu) kosu, t.mon mon FROM hoge AS h INNER JOIN hoge2 AS h2 ON h2.code = hcode INNER JOIN hoge3 AS h3 ON ON h3.code = ...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: 実行ファイルのリソースを取得する方法
返信数: 19
閲覧数: 5385

Re: 実行ファイルのリソースを取得する方法

FindResource(hHandle,リソース名,リソースタイプ); ここのリソース名は何が入るのですか? リソースに.rcファイル等でつけた名前です。 こんな感じのダイアログリソースだったらID_VERSION_DIALOGがリソース名ですか? YesでありNoです。 おそらく,ID_VERSION_DIALOGは#defineされた整数値だと思います。 この場合,リソース名はその整数値,または#とそれに続く10進数で表された値であって,ID_VERSION_DIALOGではありません。 通常, MAKEINTRESOURCE マクロ で整数型から文字列型に変換します。 もしそうだとす...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: 共有メモリに構造体中のポインタの「中身」をコピーする方法について
返信数: 3
閲覧数: 3745

Re: 共有メモリに構造体中のポインタの「中身」をコピーする方法について

基本的に,共有メモリであれファイルへの出力であれ,ポインタをオフセットに変換して取り扱う必要があります。

なお,VC++固有の仕様としてベース ポインターというのがあります。
これは正に内部的にもポインタを(ポインタ+オフセット)として取り扱えるようにする機能です。
これを使えば,記述は楽になるかと思います。
オフトピック
使ったことがないですが……。
また,普通に考えると

コード:

*pointer

コード:

*(base_pointer + offset)
になるのですから,ポインタアクセスが遅くなりそうです
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: C#の言語からAjax通信
返信数: 25
閲覧数: 6033

Re: C#の言語からAjax通信

ookamiさんへの返信を見る限り,JavaScriptについての知識がそもそも不足しているように思います。 XHRの使い方もわかっていないように見えますし。 また,何らかのサイトの動作を真似たいのであれば,HTTPについての知識も当然必要になってきますが,これも不足しているように思います。 このプログラムを作る前に,自分でXHR使ったHTML + JavaScriptのサイトを作ってみることをお薦めします。 以下のようなエラーが返ってきました。 結果は「undefined」でした。 どこに「エラー」があるのでしょうか。 XHRのsendメソッドは戻り値を返しません。 なので,単純に最後のメソ...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: C#の言語からAjax通信
返信数: 25
閲覧数: 6033

Re: C#の言語からAjax通信

根本的な話として, 一応この処理で実行してみましたがダメでした。 javascriptを第2引数にもっていってevalで実行してもらうようなイメージで書いてみましたができませんでした。 この,「ダメでした」「できませんでした」は,実際にどのような状態になったのですか。 例えば,実際に通信を Fiddler でキャプチャするなどして, 何らかの構文エラーになる XHRによる通信がそもそも行われていない XHRのリクエストがおかしい XHRに対するレスポンスがおかしい といった,問題の切り分けを行っていますか。 酢酸さんのサイトというのはログイン処理のことではないのでしょうか? 書いてあることはロ...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: C#の言語からAjax通信
返信数: 25
閲覧数: 6033

Re: C#の言語からAjax通信

その資料が本当なのであればIEをベースに作られているWebBrowserでは対処できませんね。 XHRをIEが直接サポートしていなかったのはIE6までです。 現状,IE11下のWebBrowserコントロールはIE7扱いのUserAgent文字列になっていますし,document.write(!!window.XMLHttpRequest)はtrueです。 InvokeScriptには関数の名称を入れてあげると思われるのですが、そのjavascriptのコードはどうやって入れてあげるのかがわかりません。 前の投稿にも書きましたし,酢酸さんのサイトにも書いてありますが,関数名はevalを渡し,...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: C#の言語からAjax通信
返信数: 25
閲覧数: 6033

Re: C#の言語からAjax通信

基本的には System.Windows . Controls . WebBrowser . NavigateToString を使って,文字列によるHTMLをWebBrowserに渡すことで実行することを想定していました。 ただし,実質的にクロスドメインリクエストですから, Cross-Origin Resource Sharing (CORS) の仕様に沿ったリクエストをするか,JSONPのような逃げ方をする必要があるでしょう。 ちょっと探してみましたが, WebBrowserコントロールを使って自動ログイン機能を実装する - 酢ろぐ! にある, InvokeScript メソッドでeva...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: C#の言語からAjax通信
返信数: 25
閲覧数: 6033

Re: C#の言語からAjax通信

C#の言語からAjax通信を送信する方法を知りたいという内容です。 FireFoxのFirebugというソフトである処理を解析した結果Ajax通信(XMLHttpRequest)を行っていることがわかりました。 Firebugのツールを使用している時でもURLを再送信できたので何かしらの方法で行えばできるのかなと考えています。 AjaxやXMLHttpRequestであることにこだわりはあるのでしょうか。 Ajax (Asynchronized, JAvascript, Xml) にこだわるなら,WebBrowserコントロールに JavaScript (というかJScript) で XHR...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: SQLでのデータの範囲検索について
返信数: 17
閲覧数: 3422

Re: SQLでのデータの範囲検索について

解決後ですが一応……。 量や要求速度に依るのですが,関数を使うと,その関数が利用している列のインデックスは使われなくなります。 このため,対象の表の行数が多い場合,関数を使わないで済むような構造にした方が,速度的に有利になる場合があります。 BETWEENはインデックスが効く演算なので,使われないのは勿体ないとは思います。 また、扱う値は0~Zまでで、例えば1001や200Zなど複合的な値を持っているので、 と,「複合的な値」と書かれていますが,これが例えば前3桁の分類と最後1桁の枝番のように,複数の要素に分解できることを意味しているのであれば, 各要素を別々の列としておく 複合インデックスを...
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: twitter appについておしえてください(phpです、すいません)
返信数: 2
閲覧数: 732

Re: twitter appについておしえてください(phpです、すいません)

とりあえず,POSTするURLが間違っています。
ref) POST statuses/update | Twitter Developers

その上で,APIの戻り値は,tokenが無効か期限切れだと言っています。
tokenが正しい文字列か,確認してみた方がよいでしょう。
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: fscanf コアダンプ
返信数: 2
閲覧数: 1136

Re: fscanf コアダンプ

fscanfの,%dに対応する引数はint *型でないといけません。 DSEEDはunsinged long型,numberはint型ですから,これを満たしません。 DSEEDとnumberにファイルから値を読み取りたいのであれば, fscanfの引数を,DSEEDとnumberではなく,それぞれへのポインタである,&DSEEDと&numberに変更する &DSEEDの型はunsigned long *なので,それに合わせて書式文字列を"%lu %d"に変更する という作業が必要です。さらに,その次のprintfも,DSEEDの型に合わせて"%lu %d"とする必要があります。 Windows...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: C#.netでのEnable制御について
返信数: 3
閲覧数: 2117

Re: C#.netでのEnable制御について

書いている間に解決となりましたが,構わず送信します。 フォーカスの有無でボタンを押せるかどうかを制御することを止めるのが一番の解決方法かと思います。 ボタンを押せるかどうかが決定するのは,本来はフォーカスの有無ではなく,別の理由ではないでしょうか。 「今どこにフォーカスがあたっているのか」というユーザー側の操作状況のみに依存した制御ではなく, 「有効な入力がなされているのか」というような,入力されたデータに依存する制御を行う方がよいでしょう。 一応, Windows ユーザーエクスペリエンスガイドライン (PDF) を確認してみました。 356ページ : メッセージ / エラー 混乱させること...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: コードの間違いを指摘して下さい
返信数: 7
閲覧数: 1118

Re: コードの間違いを指摘して下さい

うーん,回答がなされていますが,この件名で 少なくとも4回は質問している ようなので, 「自身による正しいデバッグがなされていない」 のが間違いという回答をしたくなります。 入力が5 9の場合,17行目が実行される回数は高く見積もっても高々5³ = 125回です。 14行目にブレイクポイントを設定し,i, j, k, no , no[j], no[k], no + no[j] + no[k], countあたりをウオッチしながらステップ実行すれば, みけCATさんが最初に指摘された18行目のbreakの問題に気付くはずです。 デバッガが無い環境でも,現17行目の前に printf("i=%d,...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: C#.netのフォームとコントロールの調整について
返信数: 10
閲覧数: 7436

Re: C#.netのフォームとコントロールの調整について

つまり、ラベルやボタンやテキストボックス、コンボボックスなどが 所狭しと並んでいる場合、 その数分だけTableLayoutPanelの列と行を用意する、 それぞれのコントロールのDockをFillにする、 という認識で間違ってないでしょうか。 TableLayoutPanelとは,つまりはグリッドです。 HTMLのテーブルと書いた方が分かり易いかもしれません。 各セルには一つのコントロールしか入ることができず,そのコントロールの位置は,DockプロパティとAnchorプロパティで決定します。 Dockプロパティは,通常時と同じく,親のどこに張り付くかを指定します。 また,指定の辺と直交する...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: C#.netのフォームとコントロールの調整について
返信数: 10
閲覧数: 7436

Re: C#.netのフォームとコントロールの調整について

海Sea さんが書きました:AncohrやPanelコントロールでは、
相対的な位置が変化しないので、隣同士のボタンなどは重なってしまいました。
そのため位置は計算で割り出す必要があるかもしれないので、
細かい部分を考えると最初の比率の計算のサンプルを流用しないと駄目かもしれません。
TableLayoutPanelを使いましたか。
相対的な位置がちゃんと変化しますよ。
もちろん,ウィンドウサイズを小さくしすぎるとサイズとして無理が出てくるので重なる場合がありますが……。

ちなみに,添付はフォントサイズをコントロールサイズに合わせた場合の例です。
左側が通常の動作,右側がフォントサイズを変化させた動作です。
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: C#.netのフォームとコントロールの調整について
返信数: 10
閲覧数: 7436

Re: C#.netのフォームとコントロールの調整について

Windowsソフトに於いて,ウィンドウサイズが変化した場合,通常はコントロールのサイズを変化させる等の処理を行い,表示可能領域を変化させます。 このための方法であれば,WinFormsであってもAnchorプロパティ (1.0-)や,TableLayoutPanel, FlowLayoutPanel (2.0-)などが用意されています。 これに対して,フォントのサイズを変化させることは通常の処理ではありません。 DPI-awareなソフトウェアの作成,という観点からフォントサイズを計算で出す場合もありますが,あくまでそれはディスプレイDPI値を使ったものになります。 ウィンドウサイズの変化に...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: arraylistの要素のチェック方法について
返信数: 3
閲覧数: 773

Re: arraylistの要素のチェック方法について

AndroidはJava 6相当なので,すべて見るしか方法はないと思います。 Java 8ならばstreamが使えるので, import java.util.List; import java.util.ArrayList; public class Test { public static void main (String[] args) { List<Integer> list = new ArrayList<>(); for (int i = 0; i < 10000; ++i) { list.add(1000); } System.out.println(list.stream()....
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: 32bitのwindows 7 のプログラムに64bitのdll
返信数: 8
閲覧数: 5271

Re: 32bitのwindows 7 のプログラムに64bitのdll

一応,MSDNへのリンク
Process Interoperability
オフトピック
32bit/64bitの混在不可はMSの開発者向イベントで何度も聞いた話なので完全に「前提条件」扱いしていましたが,探したら当然ですがちゃんとMSDNに書いてありました。
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: コードの間違いを指摘して下さい
返信数: 10
閲覧数: 1503

Re: コードの間違いを指摘して下さい

すみません、重ねて質問なのですが、自分の環境だと、vector_cを初期化しなくても、問題なく動きます。自分の使っている環境(mmgames 学習用c言語開発環境)では、初期化をしなくでも宣言をするだけで、配列のすべての要素に0を代入しているのかと思い、調べてみるとそうではありませんでした。何故、自分の環境では、vector_cを初期化しなくても問題なく動いたのでしょうか?理由を教えて下さい。よろしくお願いします。 初期化していない自動変数の値は不定であるとされているから。 refs) ISO/IEC 9899:1999 6.7.8 Initialization ¶10 If an obje...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: 32bitのwindows 7 のプログラムに64bitのdll
返信数: 8
閲覧数: 5271

Re: 32bitのwindows 7 のプログラムに64bitのdll

64bitと32bit静的に混ぜる事ができないのはよくわかりました。 動的でも無理です。 もう一度再掲しますが, プロセスにおいても,リンカのリンク対象においても,x86用コードとx64用コードを混ぜることはできません。 です。 「プロセスにおいても」をちゃんと理解していますか。 これは実行時の話をしています。 32bitプロセスとして起動したプロセス空間内に,x64用のDLLを実行可能な状態で読み込むことはできませんし, 64bitプロセスとして起動したプロセス空間内に,x86用のDLLを実行可能な状態で読み込むこともできません。 実は今は知らない人が作ったプログラムを実行する時に 原因不...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: 32bitのwindows 7 のプログラムに64bitのdll
返信数: 8
閲覧数: 5271

Re: 32bitのwindows 7 のプログラムに64bitのdll

若葉 さんが書きました:32bit appから、64bit のDLLをコールするのは無理であっても、
逆の場合はどうでしょう。
すなわち、64bit appから、32bit のDLLをコールすることは
場合によって成功する可能性もあるでしょうか。
ありません。再掲しますが,
YuO さんが書きました:プロセスにおいても,リンカのリンク対象においても,x86用コードとx64用コードを混ぜることはできません。
です。
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: C#でのリストの配列について
返信数: 4
閲覧数: 9195

Re: C#でのリストの配列について

C#での List<int> list; は,C++での std::vector<int> *list に, List<int> list[]; は,C++での std::vector<int> **list に相当します。 C#の参照型は,C++に書き直すとポインタになると思ってよいです (配列: System.Array 含む)。 また,std::listに相当するのは System.Collections.Generic . LinkedList で, List はstd::vectorに相当します。 で,インスタンス生成については, System.Linq . Enumerable ....
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: 32bitのwindows 7 のプログラムに64bitのdll
返信数: 8
閲覧数: 5271

Re: 32bitのwindows 7 のプログラムに64bitのdll

プロセスにおいても,リンカのリンク対象においても,x86用コードとx64用コードを混ぜることはできません。
32bitプロセスからx64用DLLを使う場合は,64bitプロセスを用意して,プロセス間通信を行って呼び出す必要があります。
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: C#でのフォーム間データのやり取りについて
返信数: 2
閲覧数: 1098

Re: C#でのフォーム間データのやり取りについて

Visual Studio Express 2013を使用して フォーム1のリストボックスでファイルを選択してボタンを押すと フォーム4に表示されるようにしたいのですができずにいます。 ご教授お願いいたします。 Form4 が Form1 の選択結果をメソッドやプロパティで受け取れるようにするのが簡単だと思います。 Formのデータを直接引き回さない,データバインディング系の方が好きではありますが……。 // Form4.cs 内 private string lot; public string Lot { get { return lot; } set { // lot に対する各種条件...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: ひらがな
返信数: 9
閲覧数: 1930

Re: ひらがな

<wchar.h>系の入出力関数を使うのであれば,

コード:

#include <locale.h>
と,mainの最初あたりでの

コード:

setlocale(LC_CTYPE, "");
を忘れずに。
setlocaleしなかった場合のロケールはCロケールとなっているため,日本語は恐らくまともに扱えません。
オフトピック
現在のシステムのロケールに合わせる(第二引数が"")設定で,日本語が扱えるかは別の話ですが。
日本語用のロケールが用意されていなければ,setlocaleしても日本語は取り扱えないですし。
かといって,第2引数の指定方法はimplementation-defined……。
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: OS環境依存による文字化けについて
返信数: 2
閲覧数: 1140

Re: OS環境依存による文字化けについて

えーっと,C# + .NET Framework環境でしょうか。 ソースコードの言語を指定していないのか,C++になっていますが……。 さらに,どのライブラリをどのように使っているかがわからないと,具体的なことは書けませんが……。 以下,ライブラリの関数を DllImport している前提での一般論です。 CharSet .Ansiでマーシャルされる String は GetACP APIで指定されたコードページでワイド文字列からマルチバイト文字列に変換されます。 なので,特定のエンコーディングを指定したいのであれば, Encoding . GetBytes で Byte の配列に自分で直して...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: (C++)CryptProtectData/CryptUnprotectDataについて
返信数: 4
閲覧数: 1551

Re: (C++)CryptProtectData/CryptUnprotectDataについて

複合ではなく復号ですよ。 ①暗号化後のデータが、バイナリデータなので、 reinterpret_cast<const char *>( &blobOut.pbData )などと、キャストしたとて、それがstringになるわけではない。 ⇒つまり、今回のソースでは、そもそも暗号化文字列として誤った文字列を複合しようとするから失敗している キャストしてstd::stringにならないのは当然として,暗号文というバイナリデータはそもそもCスタイル文字列として扱えないものです。 Cスタイル文字列では終端という意味を持つ特別な値である\0が,通常の値として暗号文の一部に出てくる可能性があるため 暗号文...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: (C++)CryptProtectData/CryptUnprotectDataについて
返信数: 4
閲覧数: 1551

Re: (C++)CryptProtectData/CryptUnprotectDataについて

根本的な問題点として,バイナリデータをstd::stringで扱っていることが間違いで,
std::stringを使いたいなら,base64符号化するなど,バイナリを文字列に変換したものをstd::stringに代入して取り扱う必要があります。

厳密には,ちゃんと取り扱えばstd::stringは\0を文字列に含むことができるから間違いと言い切るのは語弊がありますが,
バイナリデータを取り扱うのだから,std::vector<unsgined char>などを使うべき。
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて
返信数: 6
閲覧数: 2208

Re: Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて

本来やりたかったことは、ソフトバージョン更新時、以前使っていたバージョンの Settings.Settingsの内容を最新バージョンでも引き継ぎたいがためにこのような 質問をいたしました。Settings.Settingsの項目が非常に多いので、再インストール時 にまた全部設定するのは手間と感じています。 バージョンアップに伴うものであるならば, Upgrade メソッド を呼び出せば「直前のバージョン」のデータを引き継ぐことができます。 refs) ApplicationSettingsBase.Upgrade メソッド (System.Configuration) (MSDN) 前バージ...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて
返信数: 6
閲覧数: 2208

Re: Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて

マルチポスト先の144番のポストで書かれているように,XmlDocumentなりXDocumentなりでXMLとして読めば読めます。 150番の方が書かれている,XmlSerializerによる方法は,System.Configurations.Configurationにデフォルトコンストラクタがないため,試した限り使えなかったです。 で,やはり144番の方が書かれていますが, 設定用のクラスを自前で作り,それをXmlSerializerなりDataContractSerializerなり他の各種シリアライザを使って保存,復元するのが正攻法だと思います。 Settingsは,何個も用意してユ...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: 識別子の同じ純粋仮想関数で引数を取るものと取らないものがあった時2種類ともオーバーライドしなければならないか?
返信数: 2
閲覧数: 2370

Re: 識別子の同じ純粋仮想関数で引数を取るものと取らないものがあった時2種類ともオーバーライドしなければならないか?

当然,両方ともオーバーライドをしないといけません。 オーバーロードされた関数である以上,最終的には似たような動作を行うのが普通です。 典型例は,引数の一部が省略されていて,省略部分にはデフォルト値が設定されるような場合。 オーバーロードされた関数が全く異なる動作をするのであれば,そもそも別名をつけないと使う側が混乱します。 なので,全引数入りの純粋仮想関数を用意しておいて,残りの関数はデフォルトの設定としてその全引数入りの関数を呼ぶような作りにします。 こうすることで,通常は一つの仮想関数のオーバーライドで実装が済み,効率等の問題で特定の引数の組み合わせの場合だけ別のコードで実行したい,という...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: [c#]dxライブラリとwebbrowser
返信数: 9
閲覧数: 2085

Re: [c#]dxライブラリとwebbrowser

c#でマルチスレッドは難しいのでしょうか。 もっと専門的なサイトに質問するべきですか? C#でマルチスレッドが難しいかと問われればYESです。 ただし,それはマルチスレッド一般における難しさそのもので, つまり,アクセスのアトミック性,同期・排他などをちゃんと考えないといけない,という点に関してです。 .NET FrameworkやC#のマルチスレッドプログラミングは,相対的には簡単だと思いますし,簡単になってきています。 ref) http://dixq.net/forum/blog.php?u=546&b=3452 program.cs form1.cs のどちらにもinvokeを書かな...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: vectorのイテレータ処理で失敗する
返信数: 8
閲覧数: 3116

Re: vectorのイテレータ処理で失敗する

う~ん、一発で初期化できないのか・・・ やっぱり力技ですな ではなくて……。 初期化構文でちゃんと初期化しましょう。 C++でクラスの初期化は基本的にはコンストラクタですが,配列全ての値を0にするのが初期化であるならば,VC++ 2010でも struct tInfo // C++で無名構造体作ってtypedef名つける意味がない,Cでも無名構造体にする意味はない (Cではtypedef名とタグ名は別の名前空間) { /* 省略 */ int m_input[256]; /* 省略 */ tInfo () : /* 省略, 定義順にするのが安全 */, m_input(), /* 省略 */...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: if文の[条件]での実行処理について
返信数: 2
閲覧数: 560

Re: if文の[条件]での実行処理について

今回の場合,標準準拠のコンパイラであれば,必ず前がtrueだった時点で後ろは実行されません。 両方を実行する必要があるのであれば,if文の前に処理を行い,結果を変数に代入しておいて,その変数if文の条件として使う必要があります。 論理AND (&&), 論理OR (||) の両演算子については,左辺のオペランドを先に評価し, その結果が全体を律する場合は演算子の後のオペランドを評価しないと規格に定められています。 全体を律するというのは,&&の場合は前が0 (false) だった場合,||の場合は前が非0 (true) だった場合です。 0 (false) と何かのANDは常に0 (false...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: vectorのイテレータ処理で失敗する
返信数: 8
閲覧数: 3116

Re: vectorのイテレータ処理で失敗する

エラーの該当行周辺を見ると, void _Compat(const _Myiter& _Right) const { // test for compatible iterator pair if (this->_Getcont() == 0 || this->_Getcont() != _Right._Getcont()) { // report error _DEBUG_ERROR("vector iterators incompatible"); というコードになっています。 そして,<vector>と<xutility>を行き来しながらコードを読み解くと,_Getcont()はその名の...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: 別ファイルのメンバ・オブジェクトの利用に関して
返信数: 4
閲覧数: 743

Re: 別ファイルのメンバ・オブジェクトの利用に関して

クラスExBにおいて必ずしもobjAの値を使わなければならなかったわけではないので、 ExB.cpp内で新たにExA型のオブジェクトを宣言して利用することで当面は凌げそうです。 そもそも,ExA型のオブジェクトをさらに用意する,というので本当によいのですか。 それは元のExA型のオブジェクトとは別のインスタンスですから,当然元とは別の状態を保持することになります。 それは,やりたいことと違うのではないでしょうか。 まず,ExB::funcBがExAを必要とするのだから, void funcB (const ExA &) const; のように,ExA型のオブジェクトのインスタンスを受け取るよ...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルをリソースとして読み出せない
返信数: 6
閲覧数: 2393

Re: テキストファイルをリソースとして読み出せない

User-Defined Resource について試していないのですが,Win32でのエラー処理一般の話として。 MSDNによると, FindResource APIは失敗するとNULLを返し,詳しい情報は GetLastError APIで取得できるとあります。 FindResourceしたあとに, if (hRresource == NULL) { ::DWORD errorCode = ::GetLastError(); ::TCHAR buf[64]; ::wsprintf(buf, TEXT("FindResource error code : %u\n"), errorCode...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: 自作のスマートポインタについて、NULLを渡す
返信数: 4
閲覧数: 1648

Re: 自作のスマートポインタについて、NULLを渡す

そもそも,T*からsmart_ptr<T>への自動変換させないようにするために,template <typename T> smart_ptr<T>::smart_ptr (T *)にexplicitをつけたのですよね。 元の質問はsmart_ptrとしては意図したとおりの動作だった,ということになります。 で,smart_ptrに空ポインタ渡すと,m_pRefCntが設定されないので不定値になりますよ。 せめてNULLを渡して,m_pRefCnt使用時に確認するようにしないと危険です。 あと,SAFE_DELETE(p)のif文は不要です。delete NULL;は何もしないことになっていま...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: フォルダーにパスワードをかける方法
返信数: 3
閲覧数: 1234

Re: フォルダーにパスワードをかける方法

Windows自体にパスワード保護をファイルやフォルダ自体に設定する方法は持っていない (というか,NTFSにそんな機能はない) はずです。 Windos7ではGuestアカウントの存在がデフォルトとなっており、 わざと削除しなければ、誰でもハードディスクの内容を見ることができます。 これで、管理者などのアカウントで作成したファイルも、 保護の視点からすれば全然無意味になってしまいます。 これは実に不思議なもんです。 デフォルトではGuestはローカルログインは不可だったはずです。 ファイル共有時に,パスワード無しでアクセス可能にしたりする時に必要になります。 次に,通常はファイル共有に対する...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: c#においてのループ内でのキーの読み取り
返信数: 3
閲覧数: 1404

Re: c#においてのループ内でのキーの読み取り

具体的にはwhileループ内でキーを読み取り画面上の四角形(bar)のX座標を 変更したいと思っています。色々調べてみたのですが動いてくれませんので質問させていただきました。 コードを見ましたが,「根本的に書き直しが必要」です。 まず,ループで描画を繰り返す,という発想を捨ててください。 Windowsの通常のアプリケーションにおいて,この方法は最悪の手段です。 ループ中にApplication.DoEventsを入れるのが,下策もいいところではあるものの回避策ではあります。 下策というのは,もっとまともな方法がいくらでもあるので下策です。Timer, Task, BackgroundWor...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: C言語コンパイルに関する理論的なお決まりを知りたい
返信数: 6
閲覧数: 1152

Re: C言語コンパイルに関する理論的なお決まりを知りたい

さくらんぼう さんが書きました:単純に言いますと
int m = a->b->n;

int m = n;

より生成したマシンコードは同じかどうかっていう話です。
環境を無視した話に於いて,マシンコードが同じかということを訊ねることに意味はありません。

規格が定義しているのは,「抽象計算機における動作」です。
規格が要求しているのは,「抽象計算機における動作と,結果として同じ動作になること」です。

このため,環境を定義しないでマシンコードの質問をされても,処理系がどういうコードを出力するのかはわからない,ということになります。
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: 自分の投稿したトピックだけ抽出して閲覧は可能?
返信数: 2
閲覧数: 759

Re: 自分の投稿したトピックだけ抽出して閲覧は可能?

Workaroundになってしまいますが,一覧の下の検索窓に, "Name: (名前)" と入れればある程度の精度で検索です。 e.g.) "Name: KRNKRS" / "Name: YuO" 前後の二重引用符を入れることで,Name: から名前までがまとまって検索対象になります (Googleの仕様)。 で,トピックの各投稿のヘッダを見ると,Name: 名前 のように書かれています。 なので,このヘッダを検索対象とすることで,トピック抽出ができる,ということになります。 [offtopic]site:http://dixq.net/forum/viewtopic.phpと先のキーワードで...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: 自作関数内のif文について
返信数: 7
閲覧数: 1876

Re: 自作関数内のif文について

仮に、float型のような浮動小数点数を ++ でインクリメントしてよいとしても、 浮動小数点数の誤差により、例えば 99.0をインクリメントした結果が 「ちょうど」100.0にならない結果、 ループの実行回数がちょうど201回にならなかったりして…。 ある程度小さい範囲では,浮動小数点数型を使って整数演算をしても誤差は発生しません。 まず,Cの浮動小数点数型のモデルが,整数±1を正確に表せることを保証しています。 ISO/IEC 9899:1999のモデルx=sb e Σ k=1 p f k b -k において,s = 1, e = 1, f 1 = 1, f k|k≠1 = 0,とすれば...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: .net windowsフォームアプリ のウィンドウ作成をフック
返信数: 3
閲覧数: 1350

Re: .net windowsフォームアプリ のウィンドウ作成をフック

もしかしてuser32.dllのCreateWindowを通らないのかとも考えたのですが、、 その場合は、どこをフックすればいいのか教えて頂きたく思います。 .NET Framework 4.5 (≠4.5.1)のWinFormsのソースを読んでみました。 http://referencesource.microsoft.com System.Windows.Forms.Form.CreateHandle は IsMdiChild でない限りにおいて, System.Windows.Forms.Control.CreateHandle を呼び出してウィンドウを作成しています。 そして,Con...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: C# 画像の表示、イベントの登録
返信数: 4
閲覧数: 1930

Re: C# 画像の表示、イベントの登録

しかしもともとの記述はほぼリファレンスからのコピペなんですが 何が問題だったんでしょうか。解説していただけないでしょうか。 リファレンスのサンプルメソッドを勝手にイベントハンドラーとして登録するものだと考えたことが問題かと。 提示されたURIは,Graphics.DrawImageメソッドのリファレンスであり, Control.Paintイベント のリファレンスではありません。 そして,サンプルの上には 次の例は、Windows フォームでの使用を意図してデザインされており、Paint イベント ハンドラーのパラメーターである PaintEventArgse が必要です。 と書いてあります。...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: VBA【color】
返信数: 6
閲覧数: 866

Re: VBA【color】

これってワークシートで条件付き書式を設定してはいけないのでしょうか。
目的に依りますが,色をつける (=View要素) にVBAを使う必要が無いと感じてしまったので。

条件付き書式がどのバージョンから使えるかは覚えていませんが,少なくとも,現在使われているであろうExcel 2007以降ならサポートしているはずです。
# レガシー (Excel 2003等のMSサポート切れの製品) で使えるかどうかはわかりませんが。
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: Windowsアプリケーションのより簡単な多言語対応について
返信数: 2
閲覧数: 5017

Re: Windowsアプリケーションのより簡単な多言語対応について

表題の件について、現在は言語ごとにリソースのDLLを切り替えて多言語対応を 実現しています。 この方法だと、対応言語が新たに生じる度にリソースDLLも用意してあげる必 要があります。 Windowsにしろ他のOSにしろ,この方式が現在考えられる一番簡単な方法になります。 この方式は,法則さえ決定してしまえば,言語を後から追加することができる方法であるためです。 Win32 APIには残念ながらこの方法は存在しないのですが,MFCであれば分離可能です。 .NET Frameworkも言語ごとのリソースDLLを作りますし, 「言語パック」という形で言語の追加が可能なソフトウェアはWindowsに...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】社内、学内ネットワークについて
返信数: 22
閲覧数: 2298

Re: 社内、学内ネットワークについて

IT関係の片隅に席を置いている人間としては,社外用・学外用と社内用・学内用の2つのネットワークは分離している方が安全,というか当然ですね。 ウェブサーバーなどは,外に置くのが基本です。 万が一クラックされても,外部にあれば,通常内部にある基幹システムに影響が出ません。 過去にシステム構築を頼まれたところから,クラックされたとかで泣き疲れたことが……。 たまたま,構築に使ったファイルが社内に残っていたのでそれを元に復旧しましたが……。 基幹なども,クラウドに載せる動きもあるようです。 災害に対する業務継続性の問題などもありますから。 情報の取り扱いが難しいところですが,AWSの日本リージョンやA...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: 読み込み中のアクセス違反について
返信数: 30
閲覧数: 3341

Re: 読み込み中のアクセス違反について

void PmdMesh::InitPmd(string filename, LPDIRECT3DDEVICE9 pDev) { /* 引用者省略 */ PmdVertex* pmdVertices = new PmdVertex[numPmdVertex]; ifs.read((char*)pmdVertices, sizeof(PmdVertex)*numPmdVertex); /* 引用者省略 */ delete pmdVertices; /* 引用者省略 */ } これはnewとdeleteの対応が正しくないですね。 本来なら, std::unique_ptr<PmdVertex[]...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: [C++独自仕様] 1オブジェクト:nアドレス
返信数: 29
閲覧数: 3410

Re: [C++独自仕様] 1オブジェクト:nアドレス

私の書いたコメントに対しての返信のあと,話が進んでいますが,それはさておいて http://dixq.net/forum/viewtopic.php?f=3&t=15121#p120564 に対しての返信をすべて書いてしまいます。 結果として,その後のコメントと重複する部分もあります。 >アセンブリコードを出力させて,そのコードを見た方がよいでしょう。 →前も言いましたが、デバッグスキルとアセンブラは後回しです。 前にも言ったというのは,このスレッド中のどの記述でしょうか。 他のスレッドであなたが宣言したことなんて,書いていないのと同じです。 アセンブリを見るとかしないのであれば,メモリ上でど...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: [C++独自仕様] 1オブジェクト:nアドレス
返信数: 29
閲覧数: 3410

Re: [C++独自仕様] 1オブジェクト:nアドレス

結局の所,VC++がクラス,仮想関数や継承をどのようにメモリ上に配置して取り扱っているかが知りたいのでしょうか。 それであるならば,アセンブリコードを出力させて,そのコードを見た方がよいでしょう。 仮説ではなく,事実がわかります。 そうでなく,標準規格でどうなっているのかを知りたいのであれば,ISO規格を買って読んだ方がよいでしょう。 規格中ではオブジェクトのレイアウトについての記述はほぼ存在しませんが。 public・protected・privateの各メンバ変数について,同一セクションにあると固まって配置される,程度の記述はありますが >hogeさんへ まず、自分の見解ですが、mdという...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: Excelをは何型のデータベースなのか?
返信数: 3
閲覧数: 1082

Re: Excelをは何型のデータベースなのか?

Excelは表計算を行うためのソフトウェアであって,データベースソフトウェアではありません。
つまり,データベースから値を取得して,それを解析したりするのが表計算ソフトであるExcelの役割であって,そもそものデータの蓄積を主目的としているソフトではないです。
あえて言うならばカード型でしょうけれども……。
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: ワイド文字について
返信数: 2
閲覧数: 846

Re: ワイド文字について

ワイド文字をそのまま入出力したい場合は,基本的にバイナリファイルとして扱うようにして下さい。
  • ISO/IEC 9899:1990/Amd.1:1995で追加されたワイド文字(列)入出力関数群は,引数こそwchar_tやwchar_t *だが,実際の入出力先へは多バイト文字列として入出力される
  • 改行コードに相当するバイトがワイド文字の出力であらわれる可能性があるため,ファイルをテキストモードで開くと文字化けする可能性がある
というのが理由です。
実質的には,freadおよびfwriteを使ったファイル入出力を行うことになると思います。
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: dllの作成
返信数: 9
閲覧数: 2804

Re: dllの作成

1つめは http://msdn.microsoft.com/ja-jp/library/zkwh89ks.aspx ↑ このページでの.defファイルは LIBRARY BTREE EXPORTS Insert @1 Delete @2 Member @3 Min @4 となってますが、 http://www.ni.com/white-paper/4877/ja/ ↑ このページでは LIBRARY OurDLL EXPORTS avg_num add_num num_Integers となっており、@数字 が必要なのか必要でないのかがわかりません。 リンク先が__cdeclのページなので...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: dllの作成
返信数: 9
閲覧数: 2804

Re: dllの作成

defファイルの必要が Visual Stdio 2012 以降では必要なのか、わかりませんが、 Visual C++ 2010 Express では、下に示すソースコードでうまく、名前空間を使ったdll,libの作成に成功しました。 naohiro19さんがリンクされていたページに書かれていることも,私が最初に書いたことも, あくまで別のコンパイラや言語から呼ばれることを考慮した場合に出てくる話です。 VC++の特定のバージョンのみで使えればよいと割り切るならば,モジュール定義ファイル (.def) は不要です。 逆に,例えばVBAからアクセスしたいとか,そういうことを必要とするのであれば...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: dllの作成
返信数: 9
閲覧数: 2804

Re: dllの作成

しかし、今回 公開されているソースコードでは、私が最初に書いたソースコードのように namespace AAA { EXPORT void PrintFromAAA(); } と、dll,libを作っているソースコードは名前空間を使用しているのです。 この場合は、自分で namespace AAA の部分を削除し、 C関数で呼び出せるようにして、きちんとエクスポートするようにするしかないということでしょうか? VC++の特定バージョンのみで使用可能,でよいのであれば,普通に__declspec(dllexport)で可能です。 クラスですら__declspec(dllexport)できます。...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: 自動でVC++コンソールアプリX86とx64のリソースを切り替えたい
返信数: 11
閲覧数: 3613

Re: 自動でVC++コンソールアプリX86とx64のリソースを切り替えたい

『ビルドから除外』とは「プロジェクトから除外」のことですよね? もしも、そうではなくて、『ビルドから除外』できるファイル名をあらかじめ各ビルド毎に指定設定できるメニューがあるならば、 どこにあるか教えていただければありがたいです。 もしも、あれば便利な方法だと思います。 プロジェクトから除外とビルドから除外は違いますよ。 ビルドから除外は,対象のファイルをソリューションエクスプローラーで選択後,ファイルのプロパティページを表示 (プロパティウィンドウではないことに注意) すると出てきます。 ただし,この方法で.rcファイルを管理することはお薦めしません。 1プロジェクトに複数の.rcファイル...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: 関数内変数のポインタを受け取る時
返信数: 9
閲覧数: 906

Re: 関数内変数のポインタを受け取る時

# iostreamの<<の多重定義などのことは一切無視して,多少強引なやり方で話を進めます。 #include <iostream> void test (int arg) { int n = 10; arg = n; } int main (void) { int n = 20; test(n); std::cout << n << std::endl; return 0; } が標準出力に20を出力することは理解できているでしょうか。 形式的に,intをchar *に置き換えると, #include <iostream> void test (char * arg) { char * n...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: 自動でVC++コンソールアプリX86とx64のリソースを切り替えたい
返信数: 11
閲覧数: 3613

Re: 自動でVC++コンソールアプリX86とx64のリソースを切り替えたい

うわ,7年以上前に回答した記事が参照されてる……。 それはともかく,Visual Studio 2013にもCondition項目は存在しますし,リソースエディタに相当するリソースビューも付属しています。 # Express Editionは除く。 まず,リソースファイルを追加するとリソースビューにファイルが追加されます。 そして,リソースビューでリソースを追加して該当リソースを選択すると,プロパティウィンドウに(Name), Condition, ID, Languageの各項目と,該当リソース固有のプロパティが表示されます。 ただし,Conditionに指定できるシンボルは一つだけのような...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: dllの作成
返信数: 9
閲覧数: 2804

Re: dllの作成

DLLがエクスポートしている関数のリストは確認しましたか。 AAA::PrintFromAAA (void)は実装されていないため,エクスポートされていないような気がします。 でもって,DLL作るときは, Cの機能だけで呼び出せる形式にする クラスは使わない コンストラクタ,コピーコンストラクタ,デストラクタのオーバーロードは当然厳禁 テンプレートは使わない std::stringやstd::vectorも使わない,というか使えない 名前空間は使わない 例外は外に出ないようにする 呼び出し規約はWINAPI (__stdcall) を利用する __declspec(dllexport)だけでな...
by YuO
6年前
フォーラム: C言語何でも質問掲示板
トピック: ID重複を調べる仕組みとは?
返信数: 5
閲覧数: 1417

Re: ID重複を調べる仕組みとは?

YuO さんの例だとUNIQUEとして定義されているので、重複するIDを登録しようとした時に多重登録でエラーが帰るので、それをチェックするという手もあります。 ※ これ業務的にはトランザクションで不味い手なのかな? 業務でSQLを使ったことがないで心配になった。 重複であることを検出することが,RDBMSの製品依存になるので避けています。 つまり,一意性制約違反を検出するには,RDBMSのエラーコードを製品毎に知っておく必要があります。 PDOでもJDBCでもADO.NETでもそうなのですが,これらの抽象化層はRDBMSの製品依存性をドライバという形である程度隠蔽してくれます。 DDLなどで...

詳細検索ページへ移動する