トップページ⇒tech
1001コメント276KB

スレ立てるまでもない質問はここで 第90刷

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2008/03/08(土) 20:45:02
質問する前にGoogleで検索しましょう。http://www.google.co.jp
プログラム・ソフトの使い方はPC初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
JavascriptはWeb制作板、CGIはWebプログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。

前スレ
スレ立てるまでもない質問はここで 第89刷
http://pc11.2ch.net/test/read.cgi/tech/1202726651/
0002デフォルトの名無しさん2008/03/08(土) 21:07:17
スレ立てるまでもない質問はここで 90匹目
http://pc11.2ch.net/test/read.cgi/tech/1204976798/
0003デフォルトの名無しさん2008/03/09(日) 00:35:06
こっちが速いのか
>>1乙
0004デフォルトの名無しさん2008/03/09(日) 00:49:51
よそで聞いたらここにルーティングされたんだけど

システム運用中にダイナミックにクラス定義を変更できる言語って
何がある?
0005デフォルトの名無しさん2008/03/09(日) 01:20:16
ruby
0006デフォルトの名無しさん2008/03/09(日) 02:41:14
メモリリークに気をつけろ、と口すっぱく言われるのですが、
いまいちどういう状況で起こるのかわかりません
よくメモリリークしやすい状況としては、どんなものがあるんでしょうか
0007デフォルトの名無しさん2008/03/09(日) 03:13:04
>>6
どういう状況がリークしやすい状況かは言語にもよるので少なくとも言語を限定したほうがいい。
基本的には、メモリを確保した者が開放の責任を果たさないか、果たす機会を与えられていないか、
確保した者から開放の責任を委任されているにも関わらずそれを全うしていない時にリークが起きる。
0008デフォルトの名無しさん2008/03/09(日) 03:14:01
>>6
言語は?
0009デフォルトの名無しさん2008/03/09(日) 10:20:03
すみません。C/C++(Visual C++)です
0010デフォルトの名無しさん2008/03/09(日) 10:40:04
void foo() {
char* p = new char(1024);
return;
}
これでリーク
0011デフォルトの名無しさん2008/03/09(日) 11:21:17
new演算子で確保したデータをdeleteで解放し忘れるとアウトってことでしょうか
new演算子を使わないで確保した変数なりクラスなりは、
そのメソッドが終了したら勝手に解放されますよね?
0012デフォルトの名無しさん2008/03/09(日) 11:27:15
そういうこと。

newなどに限ったことではないけれど、それを使うときには、
メモリ(やその他リソース一般)の解放をデストラクタに任せる。
それも、できればvectorやshared_ptrなど既製品を使うべき。
0013デフォルトの名無しさん2008/03/09(日) 11:28:19
>>11
newに限らず、解放用メソッドが用意されてるものは、基本的に自分で解放しないとリークすると思ってて間違いない。
メモリのみならず何かのハンドル等もそう。
メソッド内の変数に関しては、実体で使う分にはそのメソッドが終了したときに解放される。
0014デフォルトの名無しさん2008/03/09(日) 11:28:52
かぶった orz
0015デフォルトの名無しさん2008/03/09(日) 11:48:03
>>12-14
ありがとうございます
可変長配列はvector使っていて、new演算子の使いどころが分かっていないので、
メモリリークを怖がる必要はなさそうです
openしたファイルはちゃんとcloseするようにさえすれば


0016デフォルトの名無しさん2008/03/09(日) 11:55:20
std::ifstreamやofstreamみたいに、
デストラクタでcloseされるならいいけど、
そうでない、常に自分でcloseを呼ばないというのは
自分でdeleteしないと同じく危ないなあ。
0017デフォルトの名無しさん2008/03/09(日) 12:14:22
とあるアプリ(*.exe)が、UNICODE対応してるか外部から
確認する方法ってあるでしょうか。
デペンデンスィーウォーカーで〜Wて名の関数があればそれっぽいとか
そんな程度しかない?
0018デフォルトの名無しさん2008/03/09(日) 12:32:12
ウィンドウ生成してくれるのであれば
IsWindowUnicode
0019デフォルトの名無しさん2008/03/09(日) 12:48:07
>>18
おおそんなAPIが!
ありがとう早速試してみます
0020デフォルトの名無しさん2008/03/09(日) 17:26:23
しかし、何をもってUnicode対応というのだろう。
ウィンドウプロシージャがANSIでも、
IMEその他の入力やGDIなどでの出力にW系APIを使っているプログラムはどっちだ?
0021デフォルトの名無しさん2008/03/09(日) 19:55:41
UNIXからエクセル形式のファイルを出したいんですが、セルの区切りはタブにするとして、
幅を変えたり、色を付けたりするにはどんな情報を付加すればいいんでしょうか?
0022デフォルトの名無しさん2008/03/09(日) 20:05:33
>>21
・OpenOfficeを使う。
・.xlsx形式を解析して、それに合うように出力する。
・VBAで処理する。
0023デフォルトの名無しさん2008/03/09(日) 20:13:02
Python だと pyExcelerator なんてのがあるから
探せば他の言語でもあるんじゃね?
0024デフォルトの名無しさん2008/03/09(日) 21:01:35
>>21
Excel の XML形式を使ってみれば。
CSVでやるのと比べると、かなりしんどいとは思うけど。
0025デフォルトの名無しさん2008/03/09(日) 21:09:27
今までの拡張子xlsのブックの構造も、
最近になって公開されていたはず。
もちろんそれ以前から解析されていたはずだけど。
0026デフォルトの名無しさん2008/03/09(日) 21:12:40
BIFFを一から構築するのは無謀
0027デフォルトの名無しさん2008/03/09(日) 21:17:06
Joel On Software私訳
なぜMicrosoft Officeファイルフォーマットはこんなにもややこしいのか (そしてその対処法を幾つか)
ttp://anond.hatelabo.jp/20080227113835
0028デフォルトの名無しさん2008/03/10(月) 00:04:22
なぜややこしいのかを言い訳する文章もダダ長くなるのなw
単にオブファスケイションの賜物かと思ってたよ
0029デフォルトの名無しさん2008/03/10(月) 02:53:53
文章が長ったらしいのは、翻訳の影響も少なくないと思うぞ。
0030デフォルトの名無しさん2008/03/10(月) 09:40:18
何も書かれていない1, 4, 8ビット.bmpファイルをプログラムで作ったとき、
そのパレットの色はどういう風にするのがいいのでしょうか。
ペイントで何も書いていない.bmpを
減色保存したときのパレットでもいいのでしょうか。
0031デフォルトの名無しさん2008/03/10(月) 11:05:53
パレットをどうするかはソフト次第。
windows標準の各ビットごとのパレットにあわせるもよし、最適化するもよし。
0032デフォルトの名無しさん2008/03/10(月) 11:13:11
>>30
それで確かディフォルトのパレットになると思うけど、システムパレットを取得するAPIもあるにはあるよ。
0033302008/03/10(月) 12:10:41
>>31>>32
ありがとうございます。
そのシステムパレット(HPALETTE?)のはあったっぽいのですが、
RGBQUADのは見つからなかったので、
windows標準のパレット番号を、ペイント等で調べて配列データに置き、
カウンタでひとつずつDIBパレットに入力する方法を考えていました。
0034デフォルトの名無しさん2008/03/10(月) 13:15:24
>>33
つ[GetSystemPaletteEntries()]
0035302008/03/10(月) 16:10:50
>>34
ありがとうございます。
やってみたのですが、引数のHDCにはどのhDCを当てればいいのでしょうか。

CreateBitmapで1,4,8ビットいずれかを指定してHBITMAPを作り、
CreateCompatibleDC(デスクトップHDC)で作ったHDCと
SelectObjectで関連付けてやってみたのですが、
どのビットを指定した場合でも、16ビットのパレットになっている感じです。

CreateDCという関数だと、ビットを指定するのがない感じですし。
0036デフォルトの名無しさん2008/03/10(月) 21:47:25
硫黄臭のするオナラってどんな合成の仕方されてるんだろう?
0037デフォルトの名無しさん2008/03/10(月) 23:33:19
硫化水素とか硫化窒素が主成分だからだろ。
0038デフォルトの名無しさん2008/03/11(火) 02:10:01
お前のオナラって硫化窒素が含まれてんの?
嘘だろ?
0039デフォルトの名無しさん2008/03/11(火) 10:23:18
先頭がドットのファイル名ってどうやってさくせいするんですか?
「.vimrc」を作りたいんですがファイル名を入力してとか言われます
0040デフォルトの名無しさん2008/03/11(火) 10:24:01
自己解決しました
0041デフォルトの名無しさん2008/03/11(火) 11:32:56
>>39
unixなら
copy /dev/null .vimrc

DOS/Windowsなら
copy nul .vimrc
0042デフォルトの名無しさん2008/03/11(火) 11:44:01
touch
0043デフォルトの名無しさん2008/03/11(火) 17:23:22
言語の中で処理が早い言語って何でしょうか?
お絵かきソフト作っていきたいのですがこれから64bit化などになっていくので
それに最適にしていける言語などありますでしょうか?
全部あまり大差ないとか言われてしまいそうですがこれがいいよ的でかまわないので教えてもらえないでしょうか?
0044デフォルトの名無しさん2008/03/11(火) 17:26:31
C++
0045302008/03/11(火) 17:41:57
ありがとうございます
がんばってみます
0046デフォルトの名無しさん2008/03/11(火) 19:33:08
>>43
アセンブリ
x86の場合、SSE2(とSSE2非サポートCPU用にMMX)は勉強しておくといい
0047デフォルトの名無しさん2008/03/11(火) 22:56:40
シェルスクリプトで、


cd bbb/ccc/ddd
for a in 4 3 2 1
do
 if[ -f aaa$a.txt]; then
  sed s/AAA/VVV/g aaa.txt > bbb$a.txt
  rm aaa.txt
 else
  echo "No file"
done


実行場所は、honya/honyara/honyararaの下なんですが、
「見つかりません」てエラーが出ます。多分sedのとこ?
echo $PWDを入れてみたら実行場所だったんですが、処理したい場所に移動するにはcdじゃダメなんでしょうか?

ps
普段スクリプト書いてる人のを参考にマネして試行錯誤しながら書きました。
ちょっと環境なくてうろ覚えで書いてるので多少違うかもしれませんがご容赦ください。
0048↑2008/03/11(火) 22:57:17
fi書き忘れてました(><)
0049↑2008/03/11(火) 22:57:55
cd bbb/ccc/ddd
for a in 4 3 2 1
do
 if[ -f aaa$a.txt]; then
  sed s/AAA/VVV/g aaa.txt > bbb$a.txt
  rm aaa.txt
 else
  echo "No file"
 fi
done

こんな感じです。
0050デフォルトの名無しさん2008/03/11(火) 23:06:38
>>49
お前が処理したいのは、aaa.txtなのかaaa{4,3,2,1}.txtなのかどっちなのかと。
0051↑2008/03/11(火) 23:11:55
{4 3 2 1}.txtです。すいません。
0052デフォルトの名無しさん2008/03/11(火) 23:22:42
失礼します。ご回答よろしくお願いします。
WindowsでのVC++6.0での開発にてヒープ割り当てに関連するエラーがでているのですが、
「HEAP[xxx.exe] 〜 0x6123A0 at 0x6123D8 〜 request size 30」といった内容が出力されています。
これはあるバイナリデータを格納したファイル(不特定)を読み込んだときに発生するのですが、
1. ファイルの内容はヒープ上に割り当てたメモリ内に一気に読み込んでいる
2. 160kb前後のファイルを読み込むときに発生・1〜10Kb単位の小規模ファイルでは発生しない
3. 直前にGlobalAlloc()を利用するWin32APIクリップボード操作のテストコードを何度か実行。このときクリップボードに渡したデータ(CF_TEXT形式)を何度かGlobalFree()で開放し例外発生を繰り返している。
という条件があります。

お伺いしたいのは、上記の条件下で発生するヒープに関する例外について、
・これはWindowsの構造化例外処理の例外か?
・条件3の処理によるメモリ断片化が原因で発生している可能性はあるか?すなわち、160kb程のヒープを確保できなかったため発生しているのか。
・Windowsを再起動することでこの冷害が発生しなくなることは考えられるか?

以上3点、よろしくお願い致します。
0053デフォルトの名無しさん2008/03/11(火) 23:27:01
>>51
4行目にはaaa{4,3,2,1}.txtと書いてあり、5行目6行目にはaaa.txtと書いてあり、
今度は>51には{4 3 2 1}.txtとある。
一体全体何がしたいんだ?
0054デフォルトの名無しさん2008/03/12(水) 00:07:51
>>52
わざわざここで聞かなくても、〜と省略している部分にはっきり書いてあるはず。
0055↑2008/03/12(水) 00:09:28
シェルスクリプトで、


cd bbb/ccc/ddd
for a in 4 3 2 1
do
 if[ -f aaa$a.txt]; then
  sed s/AAA/VVV/g aaa$a.txt > bbb$a.txt
  rm aaa$a.txt
 else
  echo "No file"
done


実行場所は、honya/honyara/honyararaの下なんですが、
「見つかりません」てエラーが出ます。多分sedのとこ?
echo $PWDを入れてみたら実行場所だったんですが、処理したい場所に移動するにはcdじゃダメなんでしょうか?

ps
普段スクリプト書いてる人のを参考にマネして試行錯誤しながら書きました。
ちょっと環境なくてうろ覚えで書いてるので多少違うかもしれませんがご容赦ください。
0056デフォルトの名無しさん2008/03/12(水) 00:20:59
まるで>53かのようないやらしい再質問の仕方だな。
相変わらずfiを落とす嫌がらせもしているし。
0057デフォルトの名無しさん2008/03/12(水) 00:49:06
.NETってなんすか?
例えば、VB2008とVB.NETでは何が違うんでしょうか。
0058デフォルトの名無しさん2008/03/12(水) 08:45:40
狭義には.NET Frameworkのこと。マイクロソフトの打ち出したアプリケーション実行環境。
ただ、MSが一時期自社製品に何でも.NETと付けていた時期があったので、
.NETという言葉でもたまに.NET Framework以外のことを指していることもある。

VB.NETはVisual Studio .NET 2002以降のVBのこと。
それまでと違って.NET Framework上で動くようになり、
また言語としても大きく変化したことから、VB6までと区別する意味で使われる。
そういうわけでVB 2008もVB.NETファミリーの内。
0059デフォルトの名無しさん2008/03/12(水) 23:44:57
3Dで、三角形同士の当たり判定ってどうやってするんですか?
交点も求めたいです。
0060デフォルトの名無しさん2008/03/12(水) 23:51:41
三角形というからにはその三角形は頂点が3つしかない2次元の三角形なんだな?
0061592008/03/13(木) 00:04:42
ちがいます
0062デフォルトの名無しさん2008/03/13(木) 00:07:17
頂点が三つじゃないのに三角形とはこれ如何に。
0063デフォルトの名無しさん2008/03/13(木) 00:17:47
たぶん三角錐なんだろうな。交点ってことは接触判定でいいんだよな。
各々の辺が交差するか調べるでいいんじゃね?三角錐なら辺が6だから6*6=36回判定すればOK
0064デフォルトの名無しさん2008/03/13(木) 16:37:31
うちのシステムって、3種類以上の値をとる変数であっても平気で「フラグ」
という名前をつけるんですよ。
どうもその値によって処理を分岐させるための変数のことを「フラグ」と
呼んでいるらしい。
馬鹿げていると思いつつも、「処理を分岐させるための変数」を呼ぶ適切な名前
が他にないので、しょうがねーかなーと思いつつある。

「処理を分岐させるための変数」を呼ぶ適切な名前ってないんですかね?
0065デフォルトの名無しさん2008/03/13(木) 16:51:48
状態変数
0066デフォルトの名無しさん2008/03/13(木) 17:29:57
たぶん上げる旗の種類が3つかそれ以上あるんだろう。
0067デフォルトの名無しさん2008/03/13(木) 17:37:47
今読んでるソースのコメントとか関数名にgrokってよく使われてるんだけど
どういう意味ですか? 辞書サイトには載ってませんでした><
0068デフォルトの名無しさん2008/03/13(木) 17:45:54
eijiro
0069デフォルトの名無しさん2008/03/13(木) 19:22:59
ここへ質問で良いかも良く分からんが
アバターSNSを作って「バカとテストと召喚獣」に近いものを作ってみたいと思うが
アバターSNSってどうやって作るんでしょう?
普通のSNSならOpenPNEで出来ると思うのだが。
0070デフォルトの名無しさん2008/03/13(木) 20:13:39
フリーのDLLとかライブラリって皆どうやって手に入れてるの?
0071デフォルトの名無しさん2008/03/13(木) 21:06:27
いんたーねっとをつかうんだよ!!
0072デフォルトの名無しさん2008/03/13(木) 21:16:03
ほしい物リストに登録
0073デフォルトの名無しさん2008/03/13(木) 22:11:06
就職先も無いのでIT土方やりたいと思ってるんですが
何言語から勉強していったらいいでしょうか

VBが全商1級レベルで(かじった程度)
でHTMLは文法知ってる程度です

本格的に勉強するにはまず何がいいでしょうか
0074デフォルトの名無しさん2008/03/13(木) 22:13:34
Java

いつまで仕事があるかは知らんが。
0075デフォルトの名無しさん2008/03/13(木) 22:16:26
>>74
Cやっとくと大体理論が分るからCがいいって聴いたことがあるんですが
その点どうなんでしょうか。
0076デフォルトの名無しさん2008/03/13(木) 22:17:59
>>73
javaが需要多いからjavaで良いんじゃね
まぁ、C/C++も使えるならそれも良いし
HTMLなら今ならXHTMLとCSSの知識と
PHPあたりの知識も持ってたほうが吉
0077デフォルトの名無しさん2008/03/13(木) 22:19:54
>>75
そりゃC/C++の知識を持っておいた方が幅は広がるね
0078デフォルトの名無しさん2008/03/13(木) 22:19:59
>>74>>76

ありがとう。
まずJAVAからやってみることにする
0079デフォルトの名無しさん2008/03/13(木) 22:20:35
仕事欲しいだけならJavaでいいよ。
Cできたってドカタ向きの仕事はそんなにないから。
0080デフォルトの名無しさん2008/03/13(木) 22:21:27
>>77
時間差でありがとう。


ちなみにおすすめの参考書とかありますか。
ソフトとか…(´ρ`)
0081デフォルトの名無しさん2008/03/13(木) 22:31:58
>>80
基礎知識なら独習JAVAから入ったら?
もちろんこれだけでJAVA使いこなせるわけではないけど
あとIDE環境ならNetBeensとか使ったこと無いけどエクリプスとか
まぁ最初のうちはjcPadっていう簡易IDEソフト使って勉強すれば
良いんじゃないかな
0082デフォルトの名無しさん2008/03/13(木) 22:33:54
マウスドライバ自作したいんだけど、オススメのサイトとか書籍とかあれば教えてください
0083デフォルトの名無しさん2008/03/13(木) 22:36:27
>>81
ありがとう。
明日も早いから明日からやってみる。
0084デフォルトの名無しさん2008/03/13(木) 22:44:21
場違いなレスかもしれませんが

今C#.NETで4択クイズ出題プログラムを作っています

クイズはあらかじめテキストファイルに保存してあって
それを読み込んで出力します

テキストファイルには
問題
選択枠1
選択枠2
選択枠3
選択枠4
答え
の6項目を保存してそれを読み取らせたいと思っています

質問はこれらをどうテキストファイルに書くといいか悩んでいます

自分はこのようにしました
問:〜;
選1:〜;
選2:〜;
選3:〜;
選4:〜;
回:〜;

読み取りは最初の一文字を判断して多分岐させてその後ろの文字を「;」になるまで読み込んで
それを出力させるというものです

ほかにいいアイディアがありましたらよろしくお願いします
0085デフォルトの名無しさん2008/03/13(木) 23:00:27
xmlでもyamlでもなんでもいいだろ
0086デフォルトの名無しさん2008/03/13(木) 23:02:57
ごたく互換フォーマットにしておけばオールドファンに受けるかもしれない。
0087572008/03/13(木) 23:56:46
>>58
よく分かりました。ありがとうございました。
0088デフォルトの名無しさん2008/03/14(金) 01:05:00
Postgresqlをインストールしようとしていてサービスアカウントのアカウント名をデフォルトのpostgresにしているのですが、作成してもいないのにpostgresというアカウントは既にあります!とエラーがでてきてインストールできません

アカウント名をpostgres以外に変えるべきなのでしょうか?
0089デフォルトの名無しさん2008/03/14(金) 07:39:57
お前らって彼女とか嫁とかいるんですか?
0090彼氏らしいのはいるなw2008/03/14(金) 08:16:16
どっちもいませんが何か。
0091デフォルトの名無しさん2008/03/14(金) 10:21:21
右手が彼女です
0092デフォルトの名無しさん2008/03/14(金) 10:45:43
嫁は二次元
0093デフォルトの名無しさん2008/03/14(金) 11:46:42
婿はいますが嫁はいません
0094デフォルトの名無しさん2008/03/14(金) 13:57:24
【コンピュータ】アクタ ((オブジェクト指向プログラミング言語)).
http://dictionary.goo.ne.jp/search.php?MT=Actor&kind=ej&mode=0&kwassist=0
みたいな
オブジェクト指向の言葉がいっぱい乗ってるサイトか書籍知りませんか?
0095デフォルトの名無しさん2008/03/14(金) 19:15:29
開発環境はwinXP、BCB2007(C++)
実行予定はNT,9x系です。スレここでよかった?

ウインドウハンドルが取得できた状況で、
特定のアプリかどうかを判定するプログラムを考えています。
現在は、ハンドルからexe名を取得して
特定アプリexe名定数文字列と取得exe名との比較判断をしています。
特定のアプリケーションはフリーソフトで、バージョンアップも
結構されていて、exe名は特に変わりはないとは思っていますが、
ファイル名判定以外の特定アプリを判断する方法のアイディアは他にないでしょうか?
というのも、このアルゴリズムはちょっと危ういやり方との判断からです。

winAPI等を使ったアイディアがございましたら教えてください。
0096デフォルトの名無しさん2008/03/14(金) 20:13:36
>>95
ウィンドウクラス名
ただし対象アプリがVCLベースでフォームクラス名がデフォ(TForm1とか)だと他のアプリと重複する可能性大だから使えないが。

てかOpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 〜でうまくいかなかったのかい?
0097デフォルトの名無しさん2008/03/14(金) 20:19:30
どもども。その節は
>>くだすれ441 でうまくいきました。

exe名ってちょっと胡散臭かったんで、
ちょっと聞いてみようかと。
アプリの固有値を見つけて定数比較という
プランしか思い浮かばなかったので、
既存の良いアイデアがあればと思ったわけでして。。。
0098デフォルトの名無しさん2008/03/14(金) 20:22:45
相手はVCです。
0099デフォルトの名無しさん2008/03/14(金) 21:29:35
あの、アホな質問よろしいでしょうか

1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

この2次元配列を1次元で扱うとき
WIDTH = 4; HEIGHT=4;
for(i=0;i<WIDTH;i++)for(j=0;j<HEIGHT;j++)
num[ i + j*WIDTH ]

でアクセスできますよね。
これを回したら
16にアクセスするとき 4+4*4
になって発散すると思うのですが。。。
0100デフォルトの名無しさん2008/03/14(金) 21:48:45
0〜15までの配列で
3+3*4になるので大丈夫です
0101デフォルトの名無しさん2008/03/14(金) 22:02:29
すいません
自分がアホすぎました
■ このスレッドは過去ログ倉庫に格納されています