はてなのキチョーさん。【part9】


抱負・得意分野など:得意分野はプログラミング全般のつもりですが、得意分野の質問なのに私にとって難しかったらヘコむなぁ。(笑)

質問者(私)は…回答者の質問には な・ん・で・も 回答します

・ネタでもマジメな質問でもOKです
・1人当たり1回まで回答出来ます
・質問終了時、『回答者の中から次の質問者を指名』して2500ポイント支払い、その他の回答者には10ポイント支払います(2500ポイントはバトン替わり)
・はてなへの5%およびその他の回答者への10ポイント×人数分は質問者が負担します
・いるかは、バトンを渡さなかった回答者に付与します
・回答が2件未満のまま7日が過ぎた場合、バトンはその時の質問者のものになります

回答者(みなさん)は…質問者に聞いてみたいことを な・ん・で・も 質問して下さい
・誰かへの誹謗・中傷になる質問や個人情報に関する質問には回答できないかもしれませんので
・質問者から次回の質問者に指名された場合、絶対に拒否しないで下さい
・次の質問者になったら速やかに質問を行いましょう

この文章はそのままコピペし、タイトルの名前とpartと抱負のみ変えて使用してください

回答の条件
  • URL必須
  • 1人1回まで
  • 登録:
  • 終了:2006/03/21 19:20:57
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:aki73ix No.2

回答回数5224ベストアンサー獲得回数27

ポイント10pt

こんにちは、aki73ixです

ジャンルプログラミングで、お願いします

VC++では、メインプログラム上で

#pragma data_seg(".sdata")

共有する変数名

#pragma data_seg()

として、.defファイルに

SECTIONS

.sdata READ WRITE SHARED EXECUTE

EXPORTS

変数名

としてやることで、変数が同じDLLの別のプロセス間で共有できます

ところが、C++Builderではこの方法を使っても上手く共有することが出来ません

ファイルマッピングを使うことで擬似的に共有することはできるのですが、それを使わずに、変数で共有するよい方法が知りたいです

変数をアセンブラ記述すれば解決するかもしれないそうなのですが、それ以外の方法でも結構です

難問ですがよろしくお願いします

http://www.snark.co.jp/soft/faq/vc_q6.htm#Q17

id:Kityo

★質問ありがとーございます。

http://hp.vector.co.jp/authors/VA003720/lpproj/special/borla...

 ひー死ぬかと思った難しー。

 ilink32.exeはモジュール定義ファイルでSECTIONS文をサポートしているのに、bcc32.exeには#pragma data_segのようなものが備わっていないので宝の持ち腐れだ…と言うことですね。

 若干面倒臭いですが、プロセス間で共有したいデータの定義だけ別ファイルにして分割コンパイルして下さい。

   bcc32 -zR.sdata shareddata.c

 …のようにすれば、例示のDEFファイルで上手く行くのではないかと思います。

 Windowsプログラミングは専門ではなく、実務でDLLを作ったことも2~3回(多分2回)しかなく、今夜手近にはborlandのfree-command-line-toolsしかない中で必死に探してみました。

 free-command-line-tools内のBorland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borlandが、-zR.sdata -Sで期待したようなアセンブリソースを生成するところまでは確認しました。

 参考になれば幸いです。

------------------------------------------------------------

【参考】一番最初に思いついてボツにした案

------------------------------------------------------------

 モジュール定義ファイル内のDATA文で、SHAREDを指定してしまう。

 すると全ての静的変数が、プロセス間で共有される(筈)。

 共有したくない変数は、全てDLLがアタッチされる毎にnewする。

2006/03/17 02:11:55

その他の回答8件)

id:sokyo No.1

回答回数1377ベストアンサー獲得回数97

ポイント10pt

おはようございます♪


えと、はてな

http://q.hatena.ne.jp/

の使い方について質問です。

私ははてなに入ったとき10代だったのでそういう風に登録したのですが、誕生日を迎えて20代になりました。

ところが、はてなの20代対象のアンケートに回答できないことから考えると、

どうやらはてなはまだ私を10代だと思っているらしいのです。

それはそれでちょっとうれしいかもしれませんが、でも誤解なので、

はてなに私の本当の年齢を知ってもらいたいのです。。υ

どうしたらいいのでしょうか?(@_@)

id:Kityo

♪質問ありがとうございます!

https://www.hatena.ne.jp/config

 …のページにて、登録されているsokyoさんの生年月日を確認して下さい。もし生年月日が違うか、生年月日が合っているにも関わらずまだ10代だと思われているのでしたら、同ページ内の「氏名、生年月日、性別の変更についてはお問い合わせページよりお問い合わせください」との文面を参考に対処して下さい。

 お役に立てば幸いです。

2006/03/17 00:13:35
id:aki73ix No.2

回答回数5224ベストアンサー獲得回数27ここでベストアンサー

ポイント10pt

こんにちは、aki73ixです

ジャンルプログラミングで、お願いします

VC++では、メインプログラム上で

#pragma data_seg(".sdata")

共有する変数名

#pragma data_seg()

として、.defファイルに

SECTIONS

.sdata READ WRITE SHARED EXECUTE

EXPORTS

変数名

としてやることで、変数が同じDLLの別のプロセス間で共有できます

ところが、C++Builderではこの方法を使っても上手く共有することが出来ません

ファイルマッピングを使うことで擬似的に共有することはできるのですが、それを使わずに、変数で共有するよい方法が知りたいです

変数をアセンブラ記述すれば解決するかもしれないそうなのですが、それ以外の方法でも結構です

難問ですがよろしくお願いします

http://www.snark.co.jp/soft/faq/vc_q6.htm#Q17

id:Kityo

★質問ありがとーございます。

http://hp.vector.co.jp/authors/VA003720/lpproj/special/borla...

 ひー死ぬかと思った難しー。

 ilink32.exeはモジュール定義ファイルでSECTIONS文をサポートしているのに、bcc32.exeには#pragma data_segのようなものが備わっていないので宝の持ち腐れだ…と言うことですね。

 若干面倒臭いですが、プロセス間で共有したいデータの定義だけ別ファイルにして分割コンパイルして下さい。

   bcc32 -zR.sdata shareddata.c

 …のようにすれば、例示のDEFファイルで上手く行くのではないかと思います。

 Windowsプログラミングは専門ではなく、実務でDLLを作ったことも2~3回(多分2回)しかなく、今夜手近にはborlandのfree-command-line-toolsしかない中で必死に探してみました。

 free-command-line-tools内のBorland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borlandが、-zR.sdata -Sで期待したようなアセンブリソースを生成するところまでは確認しました。

 参考になれば幸いです。

------------------------------------------------------------

【参考】一番最初に思いついてボツにした案

------------------------------------------------------------

 モジュール定義ファイル内のDATA文で、SHAREDを指定してしまう。

 すると全ての静的変数が、プロセス間で共有される(筈)。

 共有したくない変数は、全てDLLがアタッチされる毎にnewする。

2006/03/17 02:11:55
id:eityan No.3

回答回数477ベストアンサー獲得回数5

ポイント10pt

HSPについてどう思われますか?


↓ダミーです。

http://www.k2.dion.ne.jp/~eityan/index.html

id:Kityo

▽質問ありがとうございます!

http://www.onionsoft.net/hsp/

 これですね!?

 オフィシャルページから辿れる紹介をざっと読んだ感じでは、好印象です。

 リファレンスマニュアルなどは本体をダウンロードしなくても確認出来たら良いのに、と言うのが私の感想ですが、それは件のサイトに関するものですね。

 言語自体についてですが、exeやscrが作れる点はきっと重要な魅力と思います。

 私はこれを、VBScriptに限界を感じたら検討するスクリプト言語として記憶に留めました。

※ランタイムの再配布条件などについての情報がざっと読んだ程度で見つからなかったことが少々悪印象でした。

2006/03/17 03:00:24
id:sakurazusi No.4

回答回数78ベストアンサー獲得回数6

ポイント10pt

http://q.hatena.ne.jp/list

urlはダミーです

はてなへの5%およびその他の回答者への10ポイント×人数分は質問者が負担します

 これは次にバトンを受け取った人の負担も大きいです。

 自分だったらバトン渡されたくないです。

 そのあたりどう思いますか?

このシリーズ、いわしでやったら面白いと思いませんか?

はてな記法やタグ等つかって、装飾しながらセンスよくテキトーに回答してみてください。

id:Kityo

※質問ありがとうございます。

question:1142461045:title

>はてな記法やタグ等つかって

 残念なことでもあり、そして妥当なことでもあると考えていますが、「この回答に返信する」のテキストボックスの中でははてな記法やタグ等は無効になっていると思います。

  ⇒私がそれを妥当と思う理由

 回答者さんはともかく質問者さんは普通のヒトが多い筈ですから、難しい記法をさせるべきではない…とはてなも考えたのでしょう。

>このシリーズ、いわしでやったら

 微妙…に思います。

 いわしタイプ質問(って呼称でいいのかな?)は導入されたばかりで、その真価は良く判りません。

 私は人力検索タイプでやったほうが、楽しめると思います。

 バトンはお渡ししません。id:sakurazusiさんが新しいバトンを作って、いわしタイプ版「はてなの○○さん」シリーズを始めてみてはどうでしょうか?

>これは次にバトンを受け取った人の負担も大きいです。

  <中略>

>そのあたりどう思いますか?

 でもあなたは、私に質問を寄せて下さったではないですか!

  ・ハイリスク&ハイリターン

  ・バトンを受け取ったら、ランキングに食い込むかも

  ・いるかを貰えるかも

  ・皆が怖がったら、バトンを自分のものに出来るかも

  +遊びは散財してこそ面白いと思うヒトもいます

 …などなど、のように思います。

------------------------------------------------------------

【この話題を振って頂いたところで…】

------------------------------------------------------------

 「回答が2件未満のまま7日が過ぎた場合、バトンはその時の質問者のものになります」と書きました。

 回答が1件の場合は、唯一の回答者に10ポイント+いるかを付与し、バトンはその時の質問者が回収します。…と言う意味です。

2006/03/17 03:27:07
id:kento58 No.5

回答回数132ベストアンサー獲得回数3

ポイント2500pt

http://q.hatena.ne.jp/

URLはダミーです。

 

質問です。プログラミングの勉強始めたいんですけど、CとVBってどっちがいいですか?

実用性とか、難易度とか。

id:Kityo

◎質問(相談?)ありがとうございます?

http://www.smg.co.jp/education/books/book.html

http://hoop.euqset.org/archives/000082.html

http://q.hatena.ne.jp/1140102271#a488084

 ズバリ、迷うくらいなら両方学びましょう!

 それも、同時に。

 kento58さんが、学生さんか/社会人さんか/ご隠居さんか/ヒッキーさんか…判りませんが、同時が出来ないなんて言わせません。(笑)

 小学生だって、国語と算数と理科と…同時に学んでいますよね?

 プログラミングのなんたるかを知るためには、複数の言語を同時に学ぶくらいが良いと思います。

 そしてもう1つ、プログラミング言語は勉強するものではないと思います。良い先生(生身の人間でも良いし書籍でも良い)について、学んで下さい。

※こんな偉そうな回答をして大丈夫でしょうか?

2006/03/17 03:54:59
id:m-sho No.6

回答回数947ベストアンサー獲得回数2

ポイント10pt

キチョーさん、よろしくお願いします。

プログラミング全般が得意ということなので・・・

http://q.hatena.ne.jp/1140452526

こちらの質問の回答について考察してください。

キチョーさんの考えでまとめていただいても結構です。

どのような設計にしたら良いか、検討中です。

それにしても、2500ポイントとは・・・

絶対、逃げる人が出そうですね。

私も持ち逃げしたいと思ったら、どうしましょー

id:Kityo

■質問(ご依頼?)ありがとうございます&いつもお世話になっております。

http://q.hatena.ne.jp/1140452526#a490090

 URLはダミーです。(あ、言っちゃった)

 私は も・ち・ろ・ん 自分の回答があの中で1番に優れていると思います。

 しかし私の主張とは別な理由であれ、回答群の中でC++言語が優勢を占めたことは、結果としてC++言語の優位性が普遍的だと言うことを傍証していたと思います。

 さて、「(こちらの)質問の回答」についての考察のご依頼だったのですが、質問そのものについて思うトコロを述べさせて下さい。

 件のご質問の文面と論旨は非常に明快で理に適った内容ですが、「4.言語の違いをわかりやすく教えてください」の点だけ、ほんの少しだけご質問の焦点をぼやかしているように私は感じました。

 「4.」についての直接的な有意と思われる回答が見受けられなかったのも、焦点のことと無関係とは思えませんでした。

 将棋の必勝法探求と言う問題領域について私は、(独自の高級言語を作ってからと言うohmix1さんの提案を無視出来るとすれば)言語の違いなどは枝葉の問題のように考えるからです。

 設計を検討中とのことですが、私なら10進数にして100桁前後になる範囲の整数で将棋の全ての局面を表現するための番号計画から始めます。

 番号の桁数は短いほうが良いとともに、ある番号⇒ある盤面/特定の盤面⇒対応する番号の連想/変換が高速且つ安定的であることが必須(※)なので、バランスの取れる点を見出すのが設計の最初の仕事かと思います。

 実は、件の回答をした後に千日手のルールを考察するに、局面と盤面とを分けて考える必要があることに気がついています。それまでの棋譜を知らないものが見たら全く同じに見える盤面でも、過去にどのような指し手の順でそうなったかによって別な局面と考える必要がありそうです。この意味の局面を全て数え上げるには、私の知識は全く不足しています。しかし「10進数100桁」などと言う気楽な数字などとは「桁数の桁が違う」ほど甚大なものになるだろうことだけが、直感的に想像されます。

 なので、取り敢えずは盤面の番号から考えます。(私なら)

 盤面の番号が計画出来れば、様々な実験その他のための具体的なコーディングを伴う作業が色々出来るのではないかと、楽観視して盤面の番号辺りから着手します。

 以上が参考になれば幸いであり、m-sho(s-time)さん心から応援しております。(心だけ?)

※ヒトによっては「望ましい」と言うかも知れませんが、私は「必須」と考えます。

2006/03/17 04:49:44
id:yamiwolf No.7

回答回数201ベストアンサー獲得回数13

ポイント10pt

http://f.hatena.ne.jp/hatenacinnamon/20050730094721

このシナモンタソはさそってるように見えますか?

id:Kityo

√質問ありがとうございます!

http://sanriobb.hellokitty.ne.jp/

http://www.ganesh.gr.jp/cinnamomum.html

 私には、特にさそっているようには見えません。

2006/03/17 05:03:30
id:sukeshi No.8

回答回数214ベストアンサー獲得回数3

ポイント10pt

バトンがすごいパワーアップしてる~~

さて、同業の方とお見受けしました。

私は常々、日本におけるソフトウェアエンジニアの社会的地位ってもう少しくらい高くてもいいんじゃないだろうかと思ったりしています。

そこで質問。

ソフトウェアエンジニアの社会的地位を高め、ソフトウェアエンジニアがもっと幸せになるためには何が必要だと思いますか?

#ファームとかやってると特にハード屋さんの言動とかやり方にカチンときたりすること無いですか?ソフトなめんなよっ!みたいなこととか。

ちなみにシリコンバレーの給与水準だそうです。

http://www.chikawatanabe.com/blog/2006/03/post_4.html

id:Kityo

#質問ありがとうございます。

http://acespymata.fc2web.com/column4.html

http://public.research.att.com/~bs/

 そもそも社会的地位って何でしたっけ?…と思いまして適当に検索してみました。

 第1のURL(の論旨と内容は無視して)の冒頭にあるような「収入」「威信」「権力」と言った説明で僕は納得したので、その観点で考えて・答えますね。

 月並みな意見ですが、1人1人のエンジニアが突き抜けた実力とそれに裏打ちされた揺るがぬ自信と誇りを持つことが、社会的地位を高め幸せになることに繋がる唯一の絶対的な解だと思います。

 それぞれのエンジニアが実力と自信と誇りを持てるようになるためには、コンピュータのエンジニアを育てるための教育の方法論に関する研究が成熟し、良い教師が世間にたくさん輩出されることが望まれます。

 既に現場のエンジニアになってしまった僕らは、こう言った社会的変化を待つと言う受身の態度では幸せになれませんから、バリバリ勉強して(且つ机上の学問だけでなく実務で実証&経験をつんで)日々実力を高めるのが良いと思います。

 自信と誇りとは、それに追従して来ます。

 僕自身は「ハード屋さんの言動とかにカチンときたり」した覚えは、殆どありません。

 それは僕が自信と誇りを持っていて、周りで発生する事柄について「上から物を見ている」からだと思います。勘違いによって自分の実力を過大評価した結果ですけれどもね。

 逆に自分の実力(勘違いであれ)の及ばない範囲で発生した事柄については、カチンとくることもしばしばあります。

 本来であれば僕ら開発者の味方である筈のコンパイラなど開発ツールのベンダの商業的背景に基く意思決定や戦略を見て腹が立つことがあります。「多重継承は難しくて殆どのプログラマは使いこなせない上にバグや非効率の温床となっている、だから当社の○○言語ではこれをサポートしない」とか「ディスアセンブル表示窓の上で1行アセンブル出来るようにしてもこれを使いこなせるエンジニアは殆どいない、だからこれをサポートしない代わりに安い値段でツールを提供します」…と言った類にはカチンときますね。

 ツールベンダの組織の中におられる個々のエンジニアさんたちは、勿論違うでしょうが。

 最後のほうは愚痴になりました。

 これとてビヤーンさんくらいの実力と業績を持てば、内外の組織の意思決定に影響を与えるくらいの「威信」や「権力」に繋がりますものね。

2006/03/18 05:06:50
id:lionfan No.9

回答回数109ベストアンサー獲得回数20

ポイント10pt

Kityo様、はじめまして。

プログラミング好きな人なら読んでおくべき(一般向けに近い)

本・エッセイなどでお薦めがありましたら教えてください。

http://japanese.joelonsoftware.com/

id:Kityo

§質問ありがとうございます。

3001年 終局への旅(http://d.hatena.ne.jp/asin/4152080884)

同、文庫版(http://d.hatena.ne.jp/asin/4150113475)

闘う●プログラマー―アセンブラを知らない子供たち(http://d.hatena.ne.jp/asin/4777510131)

プログラマの秘密(http://d.hatena.ne.jp/asin/4938704226)

私は♀プログラマ(http://d.hatena.ne.jp/asin/4938704056)

人月の神話―狼人間を撃つ銀の弾はない(http://d.hatena.ne.jp/asin/4894716658)

 コンピュータ屋さんが読んで特に楽しくて、一般のヒトも読めそうな(技術書でないもの)でお薦めと言うと、3001年を最初に思いつきます。

 昔映画になった作品の続々々編くらいにあたるものです。非常に楽しく読み、コレのあとに旧作を片端から読みました。

 闘う●プログラマーも面白かった記憶がありますね。

 次のビレッジセンターの2冊は、自宅の本棚にありました。積ン読になった結果本棚に残っているのか、読み切ってそこそこ楽しかったのか定かではありません。(もし読んでいて詰まらなかったら多分捨てているので、本棚に残っているのはそれなりに面白かったか/読んでないかのどちらか)

 人月の神話は、技術者でなくとも読める内容で名著とされていますが、実は僕は読んだことがないのです。(いつか読もうとは思っています)

 この程度で参考になりますでしょうか?

 丁度いま楽しく読んでいるのはC++の設計と進化(http://d.hatena.ne.jp/asin/4797328541)と言う書物でして、非常に面白いです。但しこれはやっぱり技術書としか言えないので、おまけ/蛇足/ちなみに…と言うことで。

2006/03/18 21:05:18
  • id:Kityo
     バトンはkento58さんに渡しました。
     いるかは本当に悩みましたが、悩んだ末、私を一番苦しめたaki73ixさんに付与しました。
  • id:aki73ix
    Kityoさん、お疲れ様です
    そして、いるかさんありがとうございました

    一応一通り調べてみて、アセンブラに頼ってセグメント共有すればよいというところまでは分かったのですが、具体的なコードが無かったので、お願いしてみたのですが、予想以上に難問だったみたいですみませんでした|。・・)ノ

    そして、いよいよこの質問バトンも Part10に突入ですね
  • id:m-sho
    いやいや、ほんとに2500ポイントですかー
    kento58さん、持ち逃げしようか、悩んでいるかもしれませんよ。(^^;
  • id:Kityo
     結構なポイントを送って頂いて、却ってすみません。>aki73ixさん
    (せめて私が的外れなことを言ってないかどうか、試してから送信されたら良かったのに…と思います。動かなくても返却しませんよ!?)

     持ち逃げたら、それはそれで伝説です。>m-shoさん
  • id:Kityo
     part10の最初の回答(質問)は、「どうして持ち逃げしなかったのですか?」とか。(笑)
  • id:Kityo
     【part10】が始まったようです。⇒http://q.hatena.ne.jp/1143302352

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません