07/07/12 23:47:57
>>761
標準の new は、小さなサイズの要求を大量に行うと、
メモリを無駄に使用してしまう。
数年前でも2GBのメモリ空間はかなり窮屈で
無駄にされるとかなり痛いので、
自前のアロケータを書いたことがある。
796:デフォルトの名無しさん
07/07/12 23:51:50
>>793
何故ですか?
センサー毎にハードコーティング要るんじゃかったですか?
そんな馬鹿馬鹿しい事やってられません
797:793
07/07/12 23:56:49
>>796
SpeedFanやEverestなどのメジャーなツールが取っている手段だから。
できるかどうかわからない方法を調べるよりは、
できることがわかっている方法を調べるほうがいいでしょ。
798:デフォルトの名無しさん
07/07/12 23:57:58
>>793
>SMBus(I2C)で温度センサーの値を読むが。
どのようにするのですか?
なんか、デバドラ作らないと出来ないような気がしますが、
簡単にAPIで値読めるのですか?
799:デフォルトの名無しさん
07/07/13 00:00:56
>>795
数年前なら、64ビットが選択肢に入ってたろうに。
自分ならまず設計を見直すよ。
大量にnewするオブジェクトたちが、本当に個別に寿命管理が必要なのか、と。
800:デフォルトの名無しさん
07/07/13 00:11:43
Boost.Pool最強説
801:795
07/07/13 00:20:51
>>799
漏れは、マシンもOSも調達されてから投入されたので、
64bit化しようとは、流石にいえない。
そもそも、実装されるメモリの量も余裕は無かったし。
個別の寿命管理は確実に必要だったと今振り返っても思うよ。
802:デフォルトの名無しさん
07/07/13 00:28:50
つーか温度計る手段がいまだに規格化されてないってのがアホだよな
WMIで得られる筈が>>778みたいな半端な物で形骸化してるみたいだし
今ではデスクトップPCでさえサスペンド/レジュームする時代なんだぜ
803:デフォルトの名無しさん
07/07/13 01:06:26
URLリンク(homepage.mac.com)
804:デフォルトの名無しさん
07/07/13 01:07:30
URLリンク(forum.windowspower.de)
URLリンク(freshmeat.net)
URLリンク(www.footslog.com)
805:デフォルトの名無しさん
07/07/13 02:33:43
>>803
(゚д゚)ハァ?
806:デフォルトの名無しさん
07/07/13 03:01:36
>>787
もしVistaで動かす予定があるならntbackupは廃止されたから
まじめにボリュームシャドウコピーを使う方法も併用する必要がある
807:デフォルトの名無しさん
07/07/13 07:17:28
>>802
計測ってより計測法でも利権が絡むからね。
808:デフォルトの名無しさん
07/07/13 08:05:05
>>801
それは、
何かよほどのこと
って奴だったんだよ、たぶん。
ラージアドレス(/3GB)を使ってもアドレス空間が足りないが、
かといってPAEなんて使いたくないという場合には、
いっそのことプロセスを分けてしまうという手もある。
プロセスを跨ぐオーバーヘッドが巨大だけどね。
809:デフォルトの名無しさん
07/07/13 08:09:20
>>806
強引な荒技もあるよ。
デフラグのAPIを使ってファイルのディスク上の所在を調べて、そこを直に読んでしまうという手もある。
もちろん、そんな行儀の悪いことは、よほどの理由がないとダメだが。
810:デフォルトの名無しさん
07/07/13 17:13:50
CreateProcessでCREATE_SUSPENDEDを利用してNotepad.exeを起動して、
とまってるときのMessageBoxAとMessageBoxWのアドレスと、
その後、ResumeThreadした後のMessageBoxAとMessageBoxWのアドレスが違うような気がするんですけど、
これって気のせいですか?
811:デフォルトの名無しさん
07/07/13 17:17:33
DefineDosDevice()で、特定のフォルダを新規ドライブとしてマウントできるけど、
そのとき、元のフォルダのほうをACLなりEFSなりで自プロセス以外から見えなくすることは可能?
812:デフォルトの名無しさん
07/07/13 17:53:48
>>810
CREATE_SUSPENDEDで作成されたプロセスは初期化が完了している保証は無い
813:デフォルトの名無しさん
07/07/13 18:37:58
むしろ初期化終わってないのが普通じゃない?
この段階だとGetModuleFileNameExのようなAPIが失敗するもんで、
どうやってこの初期化だけを完了させるのか知りたかったりする
(forでResume/sleep/Suspendを細切れにしてまわしてた)
814:デフォルトの名無しさん
07/07/13 18:45:57
PEヘッダ解析して、PE.EntryPointのアドレスを書き換えるか、
ブレークポイントをしかけておくってのはどうだい?
815:デフォルトの名無しさん
07/07/13 19:50:28
CREATE_SUSPENDEDで止まっているときに色々やるのはオススメしない。
Windowsのサービスパックで挙動が変るのならまだしも、
WindowsUpdateで配られるモジュールのアップデートで挙動が変ってしまうから。
安全なのはプロセスのエントリポイントを乗っとること。