質問にやさしく親切に答えてくれるスレ 3 at TECH
[2ch|▼Menu]
1:デフォルトの名無しさん
06/12/26 18:28:52
質問にやさしく親切に答えてくれるスレです。

前スレはこちら。
質問にやさしく親切に答えてくれるスレ 2
スレリンク(tech板)

2:デフォルトの名無しさん
06/12/26 18:49:33
ずるしてらくしてかれいに2げっとかしらかしら〜

3:デフォルトの名無しさん
06/12/26 21:29:58
プログラムのことを初歩的なことしか分からないのですが
ウイルスのことを調べていて、2つほど質問があります。

例えば2chの掲示板に勝手に書き込みをするプログラムを作ることは可能なのでしょうか?
もちろんIEが立ち上がって勝手に2chのURLに飛んで書き込みを開始したら
ユーザーにばれてしまいますが、バックグラウンドで
2chに書き込みを行うプログラムというのは可能なのでしょうか?

ウイルス対策ソフトはプログラムのパターンを見てウイルスかどうかを
判断するというのはよく聞きますが、自分で実行することで
HDDを初期化するプログラムを作ったとして対策ソフトに検索させると
ウイルスとして認識するのでしょうか?
それともそんな個人ユーザーが作ったようなものは対策ソフトでは
認識されないのでしょうか?


4:デフォルトの名無しさん
06/12/27 01:16:21
>>3
まず初めに言っておくことがある。
「悪行には手を染めるな」

最初の質問の答は基本的には可能。
しかしファイアウォール等でネットワークへの接続が監視されていればその行為はすぐにばれるし、
ファイアウォールならそのプログラムによるアクセスそのものを阻止するだろう。

次の質問に対しては「コンピュータウイルスとは何かについて調べなさい」
HDDを初期化するプログラムはそれだけではウイルスではない。
もしウイルスならシステムで用意されているフォーマットプログラムもウイルスとして検出されるだろう。
レジストリをいじるプログラムもファイルを削除するプログラムもメールをするプログラムも全てウイルスになってしまう。

5:デフォルトの名無しさん
06/12/27 01:50:48
>>4
丁寧な回答ありがとうございます。

とりあえず犯罪に手を染めるつもり毛頭ございません。

ファイアウォールでアクセスを阻止するしても
IE用のポートは開いていると思うのですが。
バックグラウンドでIEを走らせのなら可能ではないのでしょうか?

コンピュータウイルスとは自己複製し自分で増殖していくものであるということは
分かっています。
ということはパターンとはそういう自己増殖のためのプログラムの記述ということなのでしょうか?


6:デフォルトの名無しさん
06/12/27 02:14:02
>>4
>>5ではないのですがなぜ
「悪行には手を染めるな」 と仰るのでしょうか?
純粋な正義感からの発言なのでしょうか?
それとも他に理由がおありなのでしょうか?


7:デフォルトの名無しさん
06/12/27 02:49:19
>>6
ほかにはどういうりゆうをかんがえてるんだい?

8:デフォルトの名無しさん
06/12/27 07:10:39
>>3
サーバーに寄生させて、そういうプログラムを実行させるというのは、
聞いたことがあるが、完成してたかどうかは知らない。
多分クライアントだろうけど。

9:デフォルトの名無しさん
06/12/27 10:47:57
>バックグラウンドでIEを走らせのなら〜
プログラムの理論上では可能です。実際に実行した事無いので妄想でしかありませんが
IEのウィンドウが非表示のままIEを操作できます。ただこれはその後どうやって
IEを操作するかという問題もありますが…。それはともかく
掲示板に書き込みをするには何もIEがなければ不可能という事はありません。
要はHTTPクライアントの機能を備えたプログラムがあればよいのです。
どちらかというとこっちのタイプのウィルスの方が一般的で、2chに自動で書き込む
いわゆる山田ウィルスなどもそうです。そして多くのアンチウィルスソフトは
ポートを監視するだけでなく、通信しようとしていプログラムでもウィルスであるか否かを判断します。
新規のプログラムがいきなり通信を始めた場合、普通のアンチウィルスソフトは
そのプログラムの実行を中断し、ユーザーに通信を許可していいか尋ねます。

>ということはパターンとはそういう自己増殖のための〜
その通りです。パターンマッチングと呼ばれる手法で、ウィルスが実行すると思われる
悪意のあるコードの羅列をパターンファイルとして保持し、プログラムと比較してウィルスを判断します。
もちろん自分でHDDを初期化するソフトを作った場合、そのプログラムの中に悪意のあるコード
と同一のコードが含まれていたらアンチウィルスソフトにウィルスと誤認される事もあります。

Windowsから提供されるAPIは使い方によっては凶悪な挙動をするものもあり、
ある程度プログラムの動作を隠蔽する事も可能です。
>>5さんが指摘したIEになりすまして書き込み、という観点が実はある意味正解で
既存の通信を許可されたプロセスにグローバルフックでウィルスプログラムをマッピングすれば
アンチウィルスソフトの監視をすり抜ける事も出来ます。(最近はこれも対策されてそうですが)
他にも起動中のプロセスリストのクエリを返す低レベルAPIをフックし、自身のプロセス情報を
排除して返せばアンチウィルスソフトはウィルスを(プロセスレベルでは)認識できなくなります。

>>6
>>4さんではありませんが私は悪行に手を染めて得をした試しがありません。

10:デフォルトの名無しさん
06/12/27 14:46:23
悪行に手を染めたのか・・・

11:デフォルトの名無しさん
06/12/27 15:26:54
不埒な悪行三昧

12:ひろろ
06/12/28 10:59:53
初めて質問します。よろしくお願いしますm(_ _)m
現在C++(VC7.1)で開発をしています。

DWORD2つで64bitの値を管理したいのですがどのようにすればいいでしょうか?
また、64bitの値同士の四則演算もDWORD2つを使って行いたいのですがやり方がわかりません。

Win98でも使えるアプリケーションにしたいのでLARGE_INTEGERやLONGLONGは使わない方向でお願いします。

あと、Win95,98,Meは16,32bitの演算を扱えて、WinNT,2k,XP,Vistaは32,64bitの演算を扱える、で宜しいのでしょうか?


13:デフォルトの名無しさん
06/12/28 11:02:59
どんな演算が扱えるかはコンパイラによる
int を超える計算したいなら、多倍長演算でググれ

14:ひろろ
06/12/28 11:08:26
ありがとうございます!早速ググッてみます。

15:デフォルトの名無しさん
06/12/28 13:03:21
すいません。初めての書き込みです。プログラム初心者、というか何も勉強していないのですが、
このような問題を解決しなければならなくなってしまいました。どうか教えてください。課題を教えてくださるスレッド(?)が書き込みできなくなっていたので、
こちらに書き込ませていただきました。
【質問テンプレ】
[1] 授業単元:基礎情報処理
[2] 問題文:縦100横100のマス目(点)に分けられた紙の各点が、白と黒に塗り分けられたものを考える。この中に、下にある様な黒い点で囲まれた図形が1つだけある。図形は必ず、黒い点で囲まれており、
内部は白い点で埋め尽くされている。この「囲まれている」とは、各黒い点の上下左右および8つの点のどれかが黒い点となっているものと考えよう。
□□□□□□□□□□
□□■■■■■■□□
□■□□□□■□□□
□□■□□□□■□□
□□■□□□□■□□
□□■■■■■■□□
□□□□□□□□□□
□□□□□□□□□□
□□□□□□□□□□
□□□□□□□□□□
この図形は整数値の2次元配列(例えばC言語ならa[y,x])で表されている。x軸は左から右、y軸は上からしたとするので、a[1,1]は一番左上の点になる。この配列はプログラムに入る前に何らかの方法で、白い点は0、黒い点は1になっているものとする。
さて、図形の面積、つまり黒い点で囲まれた内部の「白い点」の数を数えるプログラムを考えよう。ただし図形は必ず紙の上に1つだけ存在し、また必ず紙の端から点1つ以上ずつ少し離れた位置にあるとする(つまり黒い点は紙の上下左右の端には存在しない)。
[3] 環境
 [3.1] OS:Windows XP
 [3.2] コンパイラ名とバージョン: すみません、よくわかりません
 [3.3] 言語: なんでもかまいません。
[4] 期限: 2007年1月5日0時まで
[5] その他の制限:まだ何も習っていません。具体的に回答を提示してくれると助かります。


16:デフォルトの名無しさん
06/12/28 13:17:21
スレリンク(tech板:799番)
マルチ

17:デフォルトの名無しさん
06/12/28 14:01:53
「テスト駆動開発」、この概念がよくわかりません。
ボトムアップ式の開発で、各サブルーチンを作成するたびに単体テストを行う
といった認識で正しいのでしょうか?

18:ひろろ
06/12/28 17:13:51
さきほど質問させていただいたものです。

多倍長や演算で調べてみたんですが、
URLリンク(www.sra.co.jp)
とか
URLリンク(sophere.s7.xrea.com)
とかいろいろ見たんですが、難しいです。

わかりやすい解説のページかライブラリを教えていただきたいです。
馬鹿ですみません。お願いします。

19:デフォルトの名無しさん
06/12/28 17:55:26
VC++ ライブラリ 多倍長とかでもだめか

20:デフォルトの名無しさん
06/12/28 19:33:35
>>12
LARGE_INTEGERやLONGLONGはWindows 98でも使える。
何ビットの演算ができるかはOSよりもCPUの問題。
32ビットCPUであるx86用のVC++で64ビット演算を行うコードをコンパイルさせると、
コンパイラは32ビット演算に分解した機械語を出力する。プログラマは何も考える必要はない。

Windows 9xが16/32ビットというのはOS内部に
CPUの16ビットモードを使う部分と32ビットモードを使う部分が混在しているという話。
お前が何ビットの演算をしたいかということとは、まるで関係ない。

21:ひろろ
06/12/28 21:21:25
>VC++ ライブラリ 多倍長とかでもだめか
確かにリンクは出てきたんですが、すでに見たやつでした。ありがとうございます。

>プログラマは何も考える必要はない。
あ、そうなんですか?SetFilePointerExとかがWin2k以降だったのでてっきりだめかと
思っていました。ありがとうございます。

せっかくなんでしばらく自分で多倍長整数演算のロジックを考えてみようと思います。
これからもご支援できればお願いします。

22:デフォルトの名無しさん
06/12/28 22:16:05
削除できないフォルダを、セーフモードにして削除してみようと思うのですが、セーフモードとは一体どういう状況になるのでしょうか?
セーフモード状態でも通常通り終了できるのでしょうか?そして、終了した後に電源をつけてもセーフモード状態が続くのでしょうか?
パソコン初めて10年以上経ちますが、まだまだ分からないことばかりです。
どうか、よろしくお願いします。

23:デフォルトの名無しさん
06/12/28 22:31:30
>>22
セーフモードは起動に最低限必要なものだけの状態
通常終了できるし、次に起動したときは通常の状態になる(普通に起動すればね)

24:デフォルトの名無しさん
06/12/28 23:03:22
>>23
早急な返事、ありがとうございます。
実践してみます。

25:デフォルトの名無しさん
07/01/29 15:53:32
IDEを用いてプログラミングをするときは、プロジェクトを使うようなのですが、
プロジェクトを使ったら、どんな利点があるのですか?

26:デフォルトの名無しさん
07/01/29 16:21:05
プログラムのソースコードの構成を一元管理できます。
複雑なプログラムのソースコードを扱う場合に便利です。

27:デフォルトの名無しさん
07/01/29 16:24:03
MPIに含まれるBCAST命令とALLGATHERV命令の違いって何ですか?

28:デフォルトの名無しさん
07/01/29 16:31:05
>>25
Makefileみたいなもんです。

29:デフォルトの名無しさん
07/01/29 18:45:16
>>26>>28
よくわかりました。ありがとうございます。

30:デフォルトの名無しさん
07/01/31 07:14:29
>>27
検索してみたら全く無知な方面の話なんで適当。
参考文献 URLリンク(www-unix.mcs.anl.gov)

送る際のアルゴリズムが違うみたい。挙動は以下。
MPI_Bcast -> root からのメッセージをグループ内の他の全プロセスに送る
MPI_Allgatherv -> 全タスクのデータを集約して、それを全てに送る

手元に資料がないんで噛み砕くこともできん。
Google 先生の話では
URLリンク(www.gtrc.aist.go.jp) が詳しそう。


31:デフォルトの名無しさん
07/03/11 20:03:46
GPS受信機を使って現在位置の取得をしたいのですが、
初心者なので手順がさっぱりわかりません。
簡単にで良いので、知ってる方がいましたら教えていただけると嬉しいです。

32:デフォルトの名無しさん
07/03/11 20:18:34
漠然と「わかりません」より、取説を読んだ上で「〜がわかりません」と言ったほうがレスつきやすいと思うよ

33:31
07/03/11 20:24:47
ありがとうございます><
PDAで位置情報取得する方法を調べてるんです。
何か手元にあるわけじゃないのですが、一般的にどんな方法が
あるのかと。
ググっても良い情報が無いので…。

34:デフォルトの名無しさん
07/03/12 00:57:41
これからC言語の勉強を始めようと思ってるんですが
プログラムを書く前に流れ図というものを書いた方がいいといわれたんですが
どうしてですか?


35:デフォルトの名無しさん
07/03/12 01:46:46
>>34
書かなくて良いですが、書き方は覚えておきましょう。
他人に説明する時、楽になります。

流れ図を書かないと自分で解らなくなるプログラムは設計からして間違っています。
一から作り直しましょう。

36:デフォルトの名無しさん
07/03/12 15:43:07
>>34
チャートを書くか書かないかは個人に委ねられている。要はソースを
記述する際にやりやすくするための一種の方法だと俺は思う。ただ初
心者の場合はプログラミングというのを理解するにあたっては最初のう
ちだけやった方がいいのかもな。

37:デフォルトの名無しさん
07/03/12 20:18:53
(
)
{
}
↑こいつらをセパレータと普段呼んでいるのですが
区別して呼んであげないといけない時期がきました。
 現段階では上から順にセパレータ1号2号3号4号ですが
これではソース中で自分でも訳がわからなくなります。
解決案をどうかお願いします。

38:デフォルトの名無しさん
07/03/12 20:29:18
>>37
Wikipedia項目リンク

39:デフォルトの名無しさん
07/03/12 20:39:41
>>38
即レスありがとうございました。
(
)
{
}
↑こいつらとうまくやっていけそうです。
本当にありがとうございました。

40:デフォルトの名無しさん
07/03/17 11:22:38
コンパイラバッファ(Tuareg Interactive mode) 内キーバインディング
 C-c C-c 入力途中で中断しプロンプトに戻る
 C-c TAB Caml に割り込みを入れる
 C-c C-k Caml を終了
 M-p 過去に入力した式の履歴を遡る
 M-n 過去に入力した式の履歴を新しい方へ辿る


ocamlを勉強しててちょっと疑問に思ったので質問させてください
上でC-cというのは「Ctrl+c」だというのは分かりますが、M-pのMというのは何の略なのでしょうか?
…本当に初心者な質問で済みません

41:デフォルトの名無しさん
07/03/17 11:39:36
>>40
emacsと同じでいいならMeta、つまりMetaキーのこと。
Altキーがそれに割り当てられているなら、Alt+Pで、そうでないならEsc Pのシーケンスで。

42:デフォルトの名無しさん
07/03/17 11:46:55
>>41
解決しました
ありがとうございます

43:デフォルトの名無しさん
07/03/17 13:20:08
今、一番いいプログラミング言語は何ですか?

44:デフォルトの名無しさん
07/03/17 13:28:40
>>43それには色んな設問に答えてもらわないと
Q1 労働者に使わせるための道具としてかどうか?
Q2 CGIの製作?
Q3 Windows上で動くものが作りたいの?
・・・・他にももっと細かく

45:デフォルトの名無しさん
07/03/17 14:29:27
>>44
分かってることは
これから勉強して就職に役立ちそうなものがいいです
うちのパソコンがwinなのでwinでできるものだと勉強しやすそうな気がします

46:デフォルトの名無しさん
07/03/17 15:39:01
就職に役立つという意味が、

1、自分の実力では他に就職先が無いので、使い捨て奴隷と判っていても プログラマーを選ぶしかない
2、就職は余裕で別業種だけど、その後人間関係が上手じゃないので、職場でプログラミングを役立てたい

どっち?

47:デフォルトの名無しさん
07/03/17 16:15:17
大丈夫、言語に拠らず>45の意識じゃ就職できないから。

48:デフォルトの名無しさん
07/03/17 16:28:54
>>43 これからであるにしても勉強すればメジャーな言語はどれも就職には
役立つ。どれも十分な求人がある。Windowsでできないというものもない。
したがって、そういう視点で語ることは無意味。問題はその中でどの程度
重用されるかということ。どの程度卓越した能力を評価されるかだ。
結局努力以外にないということになるのだが。むしろ私は、就職口を
探すのに苦労するにしても、Prolog,Haskell,Lisp といった言語群に
秀でることを勧める。理由は
1..比較的短期間に、高等なプログラミングが習得できること。
2..それでは就職できないと思われているため、とことんやる人間が少なく
能力の希少性が高い。
3..絶対に言語として滅びることがない。21世紀がロボティクスの世紀で
あることから現在よりは需要が大きくなることは確実。
などがその理由だ。

49:デフォルトの名無しさん
07/03/18 12:26:18
Youtubeとかにこにこ動画みたいなサイトを作ろうと思ったら、どんな勉強をする必要がありますか?
分かる人が居たら回答お願いします

50:デフォルトの名無しさん
07/03/18 12:48:39
どうやって儲けるか(経営)
著作権侵害の訴えへの対策(法律)

51:デフォルトの名無しさん
07/03/18 19:35:45
釣りでも何でもなく、純粋な質問なんですが、
C(C++ではなく)言語で3Dゲームは作れますか?
3Dのモデリング等の技術はあるのですが、プログラムには疎いもので…

52:デフォルトの名無しさん
07/03/18 20:05:16
その手のライブラリはいろいろあるので可能。
C++だとより使いやすくなっているというだけで、
Cからでも使えるという類のものも多い。DirectXやOpenGLもそう。

53:デフォルトの名無しさん
07/03/19 10:33:45
>>48
ありがとうございます

54:デフォルトの名無しさん
07/03/22 21:27:20
vistaでもフリーソフトでプログラミングできますか?
できるんだったらソフトと言語を紹介してくれると嬉しいです

55:デフォルトの名無しさん
07/03/22 21:29:34
メモリーは256
クラック周波数は1.8程度・・・

三年位前の普及機使ってんだけど
このスペックでも快適に使えるフリーツール教えてください


56:デフォルトの名無しさん
07/03/22 23:05:23
はじめまして
プログラ素人です
目標は精密機械(ex.デジカメなど)のプログラムを
理解できるレベルになりたいです

また、プログラミングの知識も
上辺だけでなく基礎がしっかりとしたものを得たいです

PC環境はwindowsヴィスタです
どの言語から学んでいくべきですかね?
よろしくお願いします


57:デフォルトの名無しさん
07/03/22 23:45:25
Fortranの作者が亡くなったという記事を
つい最近どこかで見たような気がしたのですが探しても見つかりません。
私の勘違い(見間違い)でしょうか?

58:デフォルトの名無しさん
07/03/23 00:09:17
VC++とMFCでコーディングしていた時代から取り残されたものですが、
VC++2005っていうのはMFCは使わないんでしょうか?
.NET Frameworkでしか開発できない?
MFCの後継って.NET Frameworkなんでしょうか?


59:デフォルトの名無しさん
07/03/23 00:19:57
とりあえずVC++ 2005にもExpress Edition以外はMFC 8が入っている。

60:デフォルトの名無しさん
07/03/23 02:39:56
0歩から始めて現在「10日でおぼえるC言語入門教室」を終えたところです。
さて、3DRPGを作るには今までの約何倍の道のりを要しますか?あくまでプログラミングのみについての道のりでお願いします。
あと、次は何を学習すればよいか、とかアドバイスいただけたら嬉しいです。なるべく最短ルートを取りたいのですが…

61:デフォルトの名無しさん
07/03/23 02:53:29
>>60
あくまで最短を目指すなら、プログラミングは0歩。
何故なら、自分で作る必然性が無い。
自分で作るという前提条件を導入するのなら、プログラミングは∞歩。
学問に王道を求めるような姿勢で作れるようになるわけが無い。

62:デフォルトの名無しさん
07/03/23 04:01:31
>>55

Live 2chがおすすめ


63:デフォルトの名無しさん
07/03/23 06:27:17
>>57 検索したらすぐ見つかるだろ
ジョン・バッカス

64:デフォルトの名無しさん
07/03/23 07:35:39
>>55
クラック周波数ってなんだ?
1.8倍の速度で破壊するのか?

65:デフォルトの名無しさん
07/03/23 12:39:16
親切スレなんだからそんな重箱の隅つつくような事してやるなよw

66:デフォルトの名無しさん
07/03/23 14:11:46
>>60
Windowsで本格的な3DRPGを書きたいというのであれば
まずはDirectXが必須。
ということは事実上VCが、つまりC++が必須。
規模がある程度大きくなるのでOOPも覚える。
んでDirectXを覚えて、それでようやく入り口。

67:デフォルトの名無しさん
07/03/23 14:22:27
最短ルートなら  
HSP ⇒ Delphi ⇒ C++ の順に手を出すといいと思うよ

1、HSP は速やかに通過しよう。 悪いクセがつく
URLリンク(www.onionsoft.net)

2、Delphi では構造化プログラミングと古式ゆかしいオブジェクト指向、そしてアセンブラに触れよう。
URLリンク(itpro.nikkeibp.co.jp)

3、仕上げはC++で、ゲーム業界で使い捨て戦力になるべくガンバレ

68:デフォルトの名無しさん
07/03/23 14:57:01
>>60はホビープログラマじゃないの?
趣味でやるなら時間かけてじっくりC言語を習熟していけばいいよ。
それから吉里吉里とかのゲーム特化のスクリプトエンジンに触れて
ゲームの為のライブラリ作りを実感していけばいい。

69:デフォルトの名無しさん
07/03/23 15:36:56
CからでもDirectXは叩けるからC++必須ってわけじゃない。
が、C++で触るほうが面倒でないのは間違いない。

70:デフォルトの名無しさん
07/03/23 16:04:19
cでジックリは最短からは遠いだろ。
それにCを長くやるとHSP程ではないけど悪いクセがつく。

言語を早く覚えるコツは、とにかく経験量を増やす事。
それには、学んで書いて動かして の3セット
HSPでサンプルコードを動かして、少し変更してみて、コンナモノカ の段階でDelphi
Delphiの最初は型に厳しい清楚な淑女に調教され、
馴れるとアセンブラレベルまで弄り倒せる幼馴染に変身する面白さで、どんどんコードを書け。

最後は、C++で職業レベルに仕上げたらいいさ。

71:デフォルトの名無しさん
07/03/23 16:20:07
どんな言語でも使用期間に関係なく覚え方次第で悪い癖はつくもんだ
良い先達と良い才能に恵まれることだな

72:デフォルトの名無しさん
07/03/23 19:51:55
Cを長くやると悪いクセがつく、ってのはどういうこと?
Cだけ勉強してきたから不安なんだけど

73:デフォルトの名無しさん
07/03/23 20:10:36
cを長くやると付く悪いクセ

・ 参照型という概念の欠落。
・ オブジェクト指向に疎いまま。
・ 配列とポインタを同一視する。 
  ⇒ 他の言語で違う概念だと、その言語がクソだと言い出す。

74:デフォルトの名無しさん
07/03/23 20:50:18
・ C言語に例外の概念を持っていないので、例外回りの組み方が今ひとつ育ち難い
  #例外のある言語で概念を育ててから cに戻ってから setjump(), longjump() を

・ 型に甘い。故に使う方も甘くなりがち。
  #型に厳しい言語も学ぼう

・ C言語では関数ポインタを案外書き難い。故にコールバック等に弱い。
  #関数ポインタも引数に取る関数のポインタとかさ、

・ #if や #define の利用によるコードの分かり難さ、メインテナンス性の低下にマヒする怖さ


あと、移植性が良いと思いこんでるけど、実際は移植性は最悪。
移植可能にするテクニックはC言語を使っているだけではなかなか身につかないかもね

75:デフォルトの名無しさん
07/03/23 22:10:00
VC+MFCで組んでるけど例外全く使ってないな……
char *pBuffer = new char[xxx];
if(NULL==pBuffer)
 //エラー処理
とか平気でやってる。
いまどきnewを生で使うのかよとかそういうのはなしで

76:デフォルトの名無しさん
07/03/23 22:19:07
一応聞いておくが、それVC6(あるいはそれ以下)だよな。

77:デフォルトの名無しさん
07/03/23 22:26:16
いえVC7(VS2003)です
new.hとか使ったことありませんごめんなさい

78:デフォルトの名無しさん
07/03/23 22:33:09
それだったらnewは規格に則って例外を投げる。おそらく回避手段は無い。
例外を投げなければ、メモリ確保できたということだから、
NULLを返すことなど決してなく、当然NULLとの比較は無意味。

ただしnewではなくnew(std::nothrow)とすればメモリ確保失敗時にヌルポインタを返すようになる。


79:デフォルトの名無しさん
07/03/23 23:19:01
あ、あれ…?
今までひどい勘違いをしていた……?

80:デフォルトの名無しさん
07/03/24 01:12:19
>>79
mallocとは違うのだよmallocとは!

81:デフォルトの名無しさん
07/03/24 01:16:47
orz

82:デフォルトの名無しさん
07/03/24 01:33:19
ついでに言えば、MFCの投げる例外は標準C++の投げる例外と一部互換性が無い。

83:デフォルトの名無しさん
07/03/24 02:49:31
>57
亡くなられたのは確かのようですね。
ご冥福をお祈りいたします。
スレリンク(bizplus板)

84:デフォルトの名無しさん
07/03/28 15:43:42
>>54
vistaでフリーは無理だね

85:デフォルトの名無しさん
07/03/28 16:13:52
そうか?
Visual Stduio 2005 Express Editionとかあるだろうに

86:デフォルトの名無しさん
07/03/29 08:55:02
>84
Starter Editionみたいなのが出る予定なかったっけ?

87:デフォルトの名無しさん
07/03/30 12:45:05
すいません、お聞きしたいんですがBBS作成に適したプログラム言語って何ですか

88:デフォルトの名無しさん
07/03/30 14:15:17
お手軽に作るのならPerlとJavaScriptがあればできる。
他の手段は、その程度のものが使えるだけの知識があることが前提になってくるから先ずは、
Webで公開されているBBS用Perlスクリプトを眺めてみるところから始めてみては如何かと。

89:デフォルトの名無しさん
07/03/30 16:05:37
PHPも多いよ。 設置も楽だし

90:デフォルトの名無しさん
07/03/30 20:48:57
PHPで表示されたサイトを保存するにはどうしたらいいんでしょうか?
保存したファイルを開くと画像リンクやレイアウトが崩れて
ぜんぜん違うのですが…

91:デフォルトの名無しさん
07/03/31 00:25:07
>>73

それは間違ってる

長くやってるから配列とポインタが一緒なのでは無く

cすらろくに使いこなせない無能となる。cでも配列とポインタの区別はつけてある。


92:質問
07/04/01 11:41:39
プログラムをしてみたいけど、何をどうすればいいの?

93:デフォルトの名無しさん
07/04/01 11:49:56
あなたが普段行なっている、定型作業の手順を書き出してみてください。
その内容を吟味し、「処理」や「条件」を抽出したら、それがプログラムです。

94:質問
07/04/01 11:51:35
いや、ウインドウズPCで簡単な計算、出力をしたいだけなんですが。

95:デフォルトの名無しさん
07/04/01 11:57:21
>>94
それらのことは、電卓或いは表計算ソフトでできますよ。
ちょっとした出納帳くらいなら表計算ソフトでちょちょいのぱーです。

96:デフォルトの名無しさん
07/04/01 11:57:39
ならExcelでも使っていろ。

97:デフォルトの名無しさん
07/04/01 11:58:27
勿論Excelならマクロ使えばプログラム書きたいという望みも叶うので一石二鳥

98:デフォルトの名無しさん
07/04/01 12:07:26
いや、割り込みすまないが、
対象となるデータ持ってくるときに、他とぶつからないようにロック粒度のトレードオフを
うまい具合にしてほしい
と言ってるんじゃないかな?
例えば、帳票画面でSQLじか打ちなんて危ないことはやらないわけだから。

99:質問
07/04/01 12:13:14
URLリンク(tripsage.hp.infoseek.co.jp)

↑ こんな感じのを作りたいんです。

100:デフォルトの名無しさん
07/04/01 12:38:09
C言語でプログラムを組んでみたのですが、バグがとれません。
何が悪いのでしょうか?
どなたか教えてください。↓

101:デフォルトの名無しさん
07/04/01 12:38:50
#include <stdio.h>
#include <stdlib.h>

#define MEM_MAX 10; /* 最大従業員数 */

struct member_data{
int num; /* 従業員番号 */
char name[16]; /* 従業員名 */
int nat; /* 国語 */
int math; /* 数学 */
int eng; /* 英語 */
int soft; /* ソフトウェア */
} ;



102:デフォルトの名無しさん
07/04/01 12:40:30
main()
{
int idx; /* ループインデックス */
int flg; /* 従業員番号有無フラグ */
int input_num; /* 入力従業員番号 */
struct member_data mem_data[MEM_MAX]; /* 従業員データ構造体 */
mem_data[MEM_MAX] = {
{1, "matsuzaka", 45, 83, 23, 48},
{9, "maki", 55, 12, 44, 36},
{11, "konno", 99, 63, 85, 32},
{19, "takahara", 11, 37, 73, 66},
{25, "nakamura", 100, 52, 97, 31},
{26, "matsui", 36, 77, 54, 98},
{139, "iwasaki", 98, 67, 85, 100},
{200, "nisikawa", 56, 72, 66, 71},
{222, "hanyu", 38, 91, 16, 77},
{326, "honda", 83, 69, 70, 54}
};


103:デフォルトの名無しさん
07/04/01 12:42:04
while(1){
flg = 0;

printf("従業員番号を入力してください → ");
scanf("%d", &input_num);

if(input_num == 0){
printf("従業員データ出力を終了します.\n");
break;
}
for(idx = 0; idx < MEM_MAX; idx++){
if(mem_data[idx].num == input_num){
flg = 1;
break;
}
}
if(flg == 0) {
printf("その方はすでに退職されました.\n");
}
else{
printf("従業員番号 = %d\n", mem_data[idx].num);
printf("名 前 = %s\n", mem_data[idx].name);
printf("国 語 = %d\n", mem_data[idx].nat);
printf("数 学 = %d\n", mem_data[idx].math);
printf("英 語 = %d\n", mem_data[idx].eng);
printf("ソフトウェア = %d\n", mem_data[idx].soft);
}
}
return(0);
}

104:デフォルトの名無しさん
07/04/01 12:47:41
>>100


105:デフォルトの名無しさん
07/04/01 13:16:34
誤) #define MEM_MAX 10;
正) #define MEM_MAX 10 (セミコロンは要らない)

誤) struct member_data mem_data[MEM_MAX];
mem_data[MEM_MAX] = {
{1, "matsuzaka", 45, 83, 23, 48},
...

正) struct member_data mem_data[MEM_MAX] = {
{1, "matsuzaka", 45, 83, 23, 48},
...
(構造体をこういう書き方で初期化できるのは、
宣言と同時に初期化するときだけ)

あと、セミコロンが全角になってる箇所がいくつかあるが、
それはコピペミスかな?

106:デフォルトの名無しさん
07/04/01 13:41:09
>> 104, 105
問題解決しました。
ありがとうございます。
セミコロン全角はコピペミスでした。

107:デフォルトの名無しさん
07/04/01 14:04:09
>>100
まず、基本的な機能を1つの関数として作ってみること。
複雑な機能を1つの関数に突っ込みすぎると自分でも理解できなくなる。

それから、デバッグするときの基本は上から徐々に直す。
上っていうのは文字通りのソースコードの先頭な。
例えば1000行のプログラムで100箇所エラーがでていたとしても、
もしかすると1箇所の間違いに引きずられているだけということもよくある。
変数の宣言忘れとか、型違いとか。

あとはネタにマジレスすること。これ、まじにお勧め。

108:デフォルトの名無しさん
07/04/01 23:19:46
唐突で申し訳ないですが、データベースそのものを作る文献なんか
ないでしょうか?別に個人的な趣味で作りたいので、RDBじゃなくてもいいし
BDBについてのみでもいいのですが1つよろしくお願いします。

109:デフォルトの名無しさん
07/04/02 00:32:12
VB6.0を家で勉強したいのですが、環境を作るにはどうしたら
いいのですか?
マイクロソフト社のダウンロードしていたのですが、成功しませんでした。





110:デフォルトの名無しさん
07/04/02 00:38:06
>>109
サブスクリプションもってんの?

何で成功しなかったかkwsk


111:デフォルトの名無しさん
07/04/02 03:44:05
>>108
ソースが公開されているDBMSのソースを眺めるのは?
dbm系とかならそんなに大規模な実装でもないし

112:デフォルトの名無しさん
07/04/02 03:51:03
DBMSがBDSMにしか見えないんですがどこのお医者さんに行けばいいですか?

113:デフォルトの名無しさん
07/04/02 03:58:22
BDSMって何だよって思ってぐぐったら……こんな略語があったんだなw 勉強になった

114:デフォルトの名無しさん
07/04/02 11:38:04
ホームページ自動更新スクリプトみたいなのを作るには、JavaScript の本買えばいいんですか?
blogの記事の内容は変えずに、自動的に更新日時だけ新しいもにしていきたいんです。一時間毎くらいに

115:デフォルトの名無しさん
07/04/02 11:56:35
>>114
HTTP通信できる処理系なら何でも

116:デフォルトの名無しさん
07/04/02 12:14:51
>>108
つ sqlite

117:デフォルトの名無しさん
07/04/02 12:50:24
>>114
どうでもいいけど、それってとんでもない迷惑だな。
ついでに、Blogプロバイダによっては規約違反にならないかな。

118:デフォルトの名無しさん
07/04/02 12:54:28
>>117
一時間に一回更新くらいのアクセスくらいならトラフィック的には問題ない気がする
一日50件更新する奴もいるし

無論blogがBOT的な物を禁止してるなら別
そもそも>>114は何か勘違いをしていそうだが

119:デフォルトの名無しさん
07/04/02 13:22:31
>>115
ありがとうございます。特にオススメなのは(目的にあっているもの)なんですか?

120:115
07/04/02 13:35:08
>>119
残念ながらHTTP通信を主眼に置いた言語は無い

VBAだろうがVBだろうがC++だろうがPerlだろうがRubyだろうがJavaだろうが
基礎からソケットを利用したHTTP通信ができるまで学ぶしかない

だとするとマジ初心者ならどれを選んでも特別大差無い

121:デフォルトの名無しさん
07/04/02 16:56:56
いじめる?

122:デフォルトの名無しさん
07/04/02 17:11:43
C++よりはJavaの方が楽だと思うがなあ

123:デフォルトの名無しさん
07/04/02 19:36:19
WindowsならC++でもWinInetで十分楽だろう。socketレベルのことは考えなくておk。
VB等でも使える。

124:デフォルトの名無しさん
07/04/02 19:42:49
C++はどんな場面であれ、初心者に勧められるような言語じゃないだろ・・・。
C++だけはやめとけ。素直にJAVAしとけ・・・。

125:デフォルトの名無しさん
07/04/05 01:48:43
JAVAやると頭馬鹿になるよ。絶対使うな、仕事でJAVAやってるやつは負け組。
今は仕事あるからOKだろ?とか思うけど仕事無くなったらまっさきに切られるのが
JAVAの連中。あいつらは使えないし設計もJAVAに特化したような糞設計が多い。
未だにMQとか持ち出して設計してるDQNも大手見渡しても多いし...

JAVAやるってのはそうだな、金がなくて凶悪犯罪に手を初めてもいいと思えないと
やらないほうがいいよ。


126:デフォルトの名無しさん
07/04/05 02:18:28
ソフトウェアインストールの時にレジストリに書き込みしたいんだけど、
サブキーにSIDが含まれてる場合どうすりゃいいんでしょか?


具体的には
[HKEY_USERS\S-1-5-21-[ココがSID]\Software\ODBC\ODBC.INI\ソフト名]
に複数値を追加したいんです。

SIDを取得するコマンド(値)があるインストーラとかご存じであれば教えてください。


127:デフォルトの名無しさん
07/04/07 23:21:21
シェーダーの記述の仕方の講座良いのないですか
RenderMonkeyとかFX Composerの

128:デフォルトの名無しさん
07/04/08 04:51:07
使えなくなった携帯電話をトランシーバーとして使えるようにしたいのですが
まずは、何を勉強すればいいでしょうか?
ちなみにコンピューターがどうやって動いているかもわかりません。

129:デフォルトの名無しさん
07/04/08 07:12:23
携帯電話をトランシーバーに作り変えるだけの知識と技術があれば、
別に作った方が安く早くできると思います。
なんせ、ハードウェア用件が違いすぎますから。

130:100
07/04/09 20:41:50
どうも、以前投稿した>>100です。
あれから、構造体を動的にとるように変更しようとしたのですがどうもうまくいきません。
mallocの使い方がわかってないせいなのか、根本的に何かが間違っているのか…。
どなたかご指摘をお願いしますm(_ _)m

131:100
07/04/09 20:43:52
#include <stdio.h>
#include <stdlib.h>

#define MEM_MAX 10

struct member_data{
int num;
char name[16];
int nat;
int math;
int eng;
int soft;
} ;


132:100
07/04/09 20:45:03
main()
{
int idx;
int flg;
int input_num;
int *mem_tbl[MEM_MAX];
struct member_data *mem_data;

mem_tbl[0] = (int *)malloc(sizeof(int)*MEM_MAX);
if(mem_tbl == NULL)
{
printf("メモリ領域動的確保失敗");
return(0);
}

mem_data = (struct member_data *)malloc(sizeof(struct member_data));

if(mem_data == NULL)
{
printf("メモリ領域動的確保失敗");
free(mem_tbl);
return(0);
}

133:100
07/04/09 20:46:37
mem_tbl->mem_data = {
{1, "matsuzaka", 45, 83, 23, 48},
{9, "maki", 55, 12, 44, 36},
{11, "konno", 99, 63, 85, 32},
{19, "takahara", 11, 37, 73, 66},
{25, "nakamura", 100, 52, 97, 31},
{26, "matsui", 36, 77, 54, 98},
{139, "iwasaki", 98, 67, 85, 100},
{200, "nisikawa", 56, 72, 66, 71},
{222, "hanyu", 38, 91, 16, 77},
{326, "honda", 83, 69, 70, 54}
};

134:100
07/04/09 20:47:36
while(1)
{
flg = 0;
printf("従業員番号を入力してください → ");
scanf("%d", &input_num);
if(input_num == 0)
{
printf("従業員データ出力を終了します.\n");
break;
}
for(idx = 0; idx < MEM_MAX; idx++)
{
if(mem_tbl[idx]->mem_data.num == input_num)
{
flg = 1;
break;
}
}

135:100
07/04/09 20:49:57
if(flg == 0)
{
printf("その方はすでに退職されました.\n");
}
else
{
printf("従業員番号 = %d\n", mem_tbl[idx]->mem_data.num);
printf("名 前 = %s\n", mem_tbl[idx]->mem_data.name);
printf("国 語 = %d\n", mem_tbl[idx]->mem_data.nat);
printf("数 学 = %d\n", mem_tbl[idx]->mem_data.math);
printf("英 語 = %d\n", mem_tbl[idx]->mem_data.eng);
printf("ソフトウェア = %d\n", mem_tbl[idx]->mem_data.soft);
}
}
free(mem_tbl);
free(mem_data);
return(0);
}


136:デフォルトの名無しさん
07/04/09 21:18:25
>>130
よしわかりました、あなた>>107にファックされなさい

137:デフォルトの名無しさん
07/04/10 08:26:51
//× これいらない int *mem_tbl[MEM_MAX];
struct member_data *mem_data;

//mem_tbl[0] = (int *)malloc(sizeof(int)*MEM_MAX); ここもいらない
//if(mem_tbl == NULL)
//{
//printf("メモリ領域動的確保失敗");
//return(0);
//}
mem_data = (struct member_data *)malloc( sizeof(struct member_data) * MEM_MAX );

>>133
//× 間違い mem_tbl->mem_data = {
struct member_data memberInitData[] = {


>>134
for(i=0;i< sizeof(memberInitData)/sizeof( struct member_data );i++) mem_data[i]=memberInitData[i] );
を追加、
//×  間違いif(mem_tbl[idx]->mem_data.num == input_num)
if(mem_data[idx]->num == input_num)

138:デフォルトの名無しさん
07/04/14 21:53:10
ここにソースコードをずらずらと書くな!!

139:デフォルトの名無しさん
07/04/15 09:59:34
MPEG1の動画ファイルの総再生時間ってどこかに記述されてるものでしょうか。
それともビットレートやフレームレートなどから自動的に算出されてるのでしょうか。


140:デフォルトの名無しさん
07/05/02 00:30:36
質問です。
ネットワークのプログラミングをしていて動作テストをする場合、一台のPCを仮想的に2台のPCのようにして
動作させることはできますでしょうか?

141:デフォルトの名無しさん
07/05/02 11:57:25
>>140
やりたいことを詳しく。
単にTCP/IPのサーバプロセスとクライアントプロセスを接続するテストをしたいだけなら、普通にできるんだが。

142:デフォルトの名無しさん
07/05/02 12:46:02
こんなソフトを使えば、1台のPCを複数に出来るよ
URLリンク(www.vmware.com)
URLリンク(www.microsoft.com)


143:デフォルトの名無しさん
07/05/05 23:45:53
該当するスレが無かったので此方で質問させて頂きます。
VC2003でDLLを作成するプロジェクトとEXEを作成するプロジェクトを作りました。
上記の二つは連携して動作する(EXEがDLLを読み込んで動作する)ようになっているのですが、
DLL側のソースコードでバグが発生します。この場合、DLL側のソースコードにブレークポイントを
仕掛けてデバッグしたいのですが、ブレークポイントを仕掛けてもそこで全くストップしてくれません。

この場合、どのような設定にしたらDLL側でのブレークポイントを有効にできるのでしょうか?
御存知の方が御座いましたら、どうか教えて頂ければと。

144:デフォルトの名無しさん
07/05/07 13:25:53
>>143
普通は特に設定などせずにできる。
その2つのプロジェクトを1つのソリューションにしてるよね?

145:デフォルトの名無しさん
07/06/21 03:08:24
将来的にゲーム(主にRPGかローグライク)を作りたい初心者なんですけど、アドバイスして頂けないでしょうか?
今HSPをやって>>70さんが言ってたようにサンプルコードを動かしたり、変更してみたり、
少しくらいなら自作コードを作れるくらいにはなったのですが。
やはり、>>70さんが仰られたようにDelphi等に移行したほうが良いのでしょうか?
あと、RPGを作るならツクールを購入しようかと考えているのですが、
ツクールのプログラム言語はRubyと聞いているので、ツクール使うなら
Rubyもやっといた方が良いのでしょうか?
でもやはりRPGだけでなくいろいろなゲームやアプリも作ってみたいので
ツクールはやめといたほうがいいのでしょうか?
最後に長々としかもスレ違いな質問をしてすいません。

146:デフォルトの名無しさん
07/06/21 15:06:35
>>145
具体的な理由の無い漠然とした不安から「何某の方がいいのだろうか?」と心配しても、ほぼ無意味です。
まず具体的な問題にぶち当たってください。それからそれを解決する方法を探しましょう。

147:デフォルトの名無しさん
07/06/21 17:01:19
>>146
早速のレスありがとうございます。
hspで長くプログラミングしてると悪い癖がつくからはやく他の言語に移行した方がいい
と色々なひとから聞いたものですから、何となく不安になったんです。
やはりhspは卒業して他のがんばってみようと思います。
答えにくいような質問してすみません。

148:デフォルトの名無しさん
07/06/24 21:29:58
Delphi って最新版は無料で入手できないのでは?
Java や C# ならただで入手可能。

149:デフォルトの名無しさん
07/06/25 23:01:37
Turbo Delphiというのが無料版

150:デフォルトの名無しさん
07/07/02 12:10:22
Googleとか、Yahooの検索エンジンとかって、検索エンジンのまがい物って本当ですか?
Google八部とか、Yahoo商売検索って聞いたのですが(自分達に不都合なSiteは表示させない、または、表示させるのに金を取っている)。

辞書みたいに、検索者に誠実な検索エンジンとかってできないですか?
P2Pみたいな、フリーのソフトみんなで導入するとかしたら可能ではないですか?

151:デフォルトの名無しさん
07/07/02 20:11:09
>>150
GoogleやYahooもまぁやってるでしょう。
新聞TVが大昔から普通にやってたことだし。

みんなが動かしてくれれば可能でしょう。
しかし日本ではGoogle八分を問題だと思う人はあまり増えない気がします。
朝日新聞やTBSが存続できちゃってます。
一般利用者は目的が達成できればあまり文句は無いので。

152:デフォルトの名無しさん
07/07/03 00:07:08
自分とこのページビューが増えないのを検索サイトのせいにするな

153:デフォルトの名無しさん
07/07/03 16:56:41
検索ビューが増えないのじゃなくて、八部に実際なってるの^^;検索ツールって自分の会社に都合のいいことしか表示できないようにするのって一種の騙し、使用者に対する裏切り行為じゃないかw

154:デフォルトの名無しさん
07/07/03 17:51:20
案外ロボット回避のタグが埋まってたりして。

155:デフォルトの名無しさん
07/07/03 23:04:45
Yahooは手動だから別件として、ロボット検索の引っかかり率が悪いのは
構成やHTMLなどサイト自身のせい

156:デフォルトの名無しさん
07/08/17 11:32:12
質問です。
VC++でウィザードリィ形式のRPGを作っているのですが、
データの管理というか、設計の見直しで悩んでいます。

ゲームに必要なパラメータやキャラデータをグローバルな
データクラスに組み込んで、各インスタンスで使っていたのですが、
このやり方はややこしくなると気付いたので、新たに設計しなおしています。

フラグやゲーム内日時など、色んな場所から参照したいものは、どのように
管理すればいいのでしょうか?

例えば、キャラデータ(アイテム情報保持)は戦闘中・ショップ・キャンプ中・
イベントチェックで使用しますが、グローバル化をさけようと思ったら、
インスタンスを呼び出すたびにキャラデータのポインタなり参照なりを
引数と一緒に送るという形にすればいいのでしょうか?

宜しくお願いします。
石の中にいる人も罠解除はキー入力だろ?という人も宜しくお願いします。


157:デフォルトの名無しさん
07/08/17 11:37:59
>>156
オブジェクト指向を勉強するといいんじゃないかなぁ?

158:156
07/08/17 12:29:46
>>157
すいません。状況の説明が足りませんでした。
オブジェクト指向を学ぶために、学習しながら実地としてゲームを作ってます。
C言語はやったことがなく、C++から入りました。

オブジェクト指向の概念やUMLでの記述や、C++での記述の仕方・ルールは
だいたい理解しています。継承を覚えて、いまはインターフェイスを勉強して
いるくらいです。

具体的に、オブジェクト指向のどの部分を勉強したらよいでしょうか?


159:デフォルトの名無しさん
07/08/17 12:44:00
>>158
オブジェクトの設計とかリファクタリングとかデザインパターンとか。

キャラデータと呼べる物(オブジェクト)があったら、それはそもそもキャラデータというクラスがないといけない。
で、各部の処理のあつまりもオブジェクトになっていて、キャラデータの参照を持つべきだな。

160:デフォルトの名無しさん
07/08/19 01:24:26
メモリ上にある実行中のプロセスの中身を覗いたり書き換えたりできるメモリエディタというものがありますが
こういう機能はどうやって実現いるんですか?
昨今のOSは個々のプログラムに仮想アドレスを割り振っていると習ったので、不可能に思えるのですが…
またこういうことが可能であることはセキュリティ上まずくないのでしょうか?

161:デフォルトの名無しさん
07/08/19 17:25:48
不可能ならOSはどうやってプロセスを管理できるんだ?
もちろんどんなプログラムでもほいほい実行する人間にはセキュリティ上まずい

162:デフォルトの名無しさん
07/08/20 00:31:13
個々のプログラムと OS は違う権限で動作していて、メモリエディタが OS と同じ権限で動作すれば大丈夫だよね。

163:デフォルトの名無しさん
07/08/20 01:09:38
あ、コールゲートっていうやつを使うわけですか、なるほど
>もちろんどんなプログラムでもほいほい実行する人間にはセキュリティ上まずい
確かにそれはそうですね…

164:デフォルトの名無しさん
07/09/15 03:27:09
LSI C-86 Ver 3.30 試食版で日本語が表示できません

165:デフォルトの名無しさん
07/09/15 03:52:37
>>164
それは過去の遺物です。使いこなせないのなら捨てなさい。

166:デフォルトの名無しさん
07/09/17 23:24:10
HTMLとBASICとVBAとHSP
満足に使えるようになるまでにかかる時間が短いのはどれですか?


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4757日前に更新/257 KB
担当:undef