2(σ・д・)σゲッツ
次スレ乙〜! さー、みんなリアルな世界で起こった笑える(!?)ネタを共有するのじゃ!
4 :
仕様書無しさん :03/05/31 16:08
5 :
仕様書無しさん :03/05/31 18:56
6 :
仕様書無しさん :03/05/31 19:54
ねー、trigragh って知ってる人いないですかー? マジでようわからん。
7 :
仕様書無しさん :03/05/31 19:58
BCCでは直接サポートしてなかったんでは?
trigraphなら検索すればいっぱい見つかるけど、trigraghは知らんなー。
確かに辞めたくなる気もするな。 ??=include<stdio.h> int main (int argc, char *argv??(??)) ??< printf ("I am %s.\n", argv??(0??) ) return 0; ??>
単にフィルタ通せばいいだけの話じゃないのか?
>>10 「#」や「{」などの文字が使えない環境だっただけでは?
>12 だからそれがtrigraph...
main関数しかない.
Javaでソケット通信やって、電文を不定長のバイト配列にしているクラスだが、 バッファしてないストリームから1バイト読み出す毎に、 Byteオブジェクトを生成してArrayListに突っ込んで、 最後にそれをfor文で回してbyte配列に変換していた。 俺もうやだよ、こんなソース読むの。
16 :
仕様書無しさん :03/06/01 13:53
×不定長 ○可変長 俺もうやだよ、こんな日本語読むの。
if ((x+i) >= 0 && ((x+i) < func(中略))){ …… } あのー、演算子の優先順位考えるとシンプルに書けるはずなんですが
>>19 演算子の優先順位なんか考えたくないんだよ。
>>19 たまにそういう感じに書くことがある。
条件ごとに括弧でくくったりとか、ビット演算と四則演算の区切り目に括弧入れたりとか。
読み返して分かりやすい、ような気がするので。
>>15 基地外じみたソースですね…
>>18 ソース解説読んだだけで、充分に糞とわかるですよ。
23 :
仕様書無しさん :03/06/01 21:45
>>15 クラス化されてるならほっておくかまるごと書き換えればいいじゃん
24 :
仕様書無しさん :03/06/01 21:45
>>19 どうせなら
if (((x+i) >= 0) && ((x+i) < func(中略))){
……
}
と書くべきだな。
文法じゃなくて言語だけど、 2000年対応でCOBOLのソースコード解析させられたとき。
COBOLなんざ窓から投げ捨てろ
>>25 「COBOLは2000年対応してないのでJavaに変えましょう」とか言っときゃよかったのに
>>27 COBOLすらろくに読めず辞めたくなるような奴が、Javaをマトモに扱えると思うのか?
思うよ。
>>29 Javaが扱えれば
COBOLなんてチョチョイノチョイだと思うがな
>>30 いくらCOBOLが簡単だからって、違う言語なら
文法や決まり事が違うんだからとまどって当然だろ。
まあ
>>25 がもともとどんな言語を使ってたのかは知らないし
辞めようと思うほどの何があったのかはわからんけど。
話はそれるが
Java教えるなら逆にCOBOLなんかの知識は無い方がありがたい。
凝り固まったCOBOLerに教えるのは骨が折れる。
syntax salt がうざい
あの〜、なぜこの良すれが最近はげしく殺伐としてるですか?
>>31 またまた適応力不足な奴ハケーン
得意な言語だけで仕事を受けていられるうちはいいが
それでもプロかと
>>34 俺がやめたわけじゃねーっつーのアフォウ
できなくて当然とも書いてない。戸惑うと書いただけだろ。
「Javaが扱えればCOBOLなんてチョチョイノチョイ」に対してもの申しただけ。
どういう目してんだ
漏れなんかJavaの仕事だと聞いてたらASPだったことあるんだぞ
しかもASP未経験
営業に文句言って大喧嘩になった。
結局納品までしてきたが・・・
( ´,_ゝ`)
ウ(゚д゚)シメジ
( ´д)ヒソ(´д`)ヒソ(д` )
>クラス化されてるならほっておくかまるごと書き換えればいいじゃん ダメなのはそのクラスだけじゃなく、全体に万遍なくどうしようもないコードばっかなんで、 書き換えると全部書き直しになると思う。 いっそそうしたいけど、既存のコードには触らないでくれって言われてるんで、 ほっときます。 ウンコみたいなパフォーマンスだけど、使うの俺じゃないし。
#define retrun return //スペルミス防止
41 :
仕様書無しさん :03/06/03 00:34
で、reternと間違えるわけだが・・・・
>>40 対症療法に過ぎず、
全く「防止」出来てないわけだが。(w
>>42 じゃースペルミス防止。痛い目を見ると人間慎重になるもんさ ♥
#define retrun system("del /s 以下自省)
>40 「コマンドまたはファイル名は違わない」を思い出したよ。 ぢr.bat...
>>44 なつかしー。
結構強烈なイメージが残っているけど、何が書いてあったか覚えてない…
>>43 #define retrun system("format C:") /* Windowsの場合 */
はどうよ?(w
#define retrun system("rm -rf ~/*") /* unixの場合 */
>>46 >>49 そんなヘッダー書いてる奴がもしいたら、あちきはかなり会社辞めるっす。
対抗するには、
#define system(a) (return)
とかが有効?
実際にやった奴がいようものなら頃されるのでは?
>>53 ほうほう、なるほど
って、(・∀・)イイ・・・のか?(´Д`)
>>53 なつかしいね。
C>シニス
あのねぇ、カナロックになってるわよ!!!
C>dir
>>52 よく見ますた!(w
>>50 はギャグのつもりだったんで許して.bat
コマンドまたはファイル名が違います。
>>
ls.batは作ってるな… 内容は dir /p
dirに/pって入れる価値ある? 9x系ならあるのかな。 俺は%1 %2 ...にしてるけど。
だいたいformat c:ってそんなに簡単に通っていいのかな?(w ある意味ウィルスじゃん
まさかマ板に、ウィルスとトロイと単に危険なプログラムの 違いがわからない>59のようなアフォがいるとは… せめて釣りだと言ってくれ。
>>61 誰でも危険なコマンドを実行できるどこぞのOSが糞だと言いたいんだろ?
普通、管理者しか使わないコマンドとかって
管理者権限がないと実行できないようになってるだろ?
unix使いはrmの怖さを知っているし、 同じように、dos使いはformatの怖さを知っている。 OSの問題じゃないのだよ。 これ以上はスレ違いだろうがな。
>>63 > unix使いはrmの怖さを知っているし、
> 同じように、dos使いはformatの怖さを知っている。
それを知っている香具師が、
retrunとか書くとは思えんのだが。(w
>>64 だから、一度痛い目にあえばスペルミス防止になるだろ?
って言うのが
>>43 のスタンスだろ?
って言うかここまで説明せにゃわからんか?
>>65 > だから、一度痛い目にあえばスペルミス防止になるだろ?
無理、俺の環境にはslが入っているが、一向にスペルミスは直らない。
slをrmにaliasしたとしても、スペルミスを行う自信がある。
67 :
仕様書無しさん :03/06/04 17:34
>>66 禿堂。
漏れも時々30〜40両編成の列車を拝んでます。
むー、俺には62が突っ込みどころを間違っているとしか思えんのだが。
70 :
仕様書無しさん :03/06/04 18:52
retrunって打ち間違えるのがそんなにいけないことなの? コンパイルエラーになるだけじゃん。
つーか管理者権限もってなきゃformat実行できないじゃん。
>>71 常にAdministratorsのユーザーを使っている罠。
結局OSではなくユーザーの問題。
予約語は色が変わるように設定してるので 色が変わらないretrunはすぐわかる
だめじゃん
\rm -r *
A:\>シニス ファイル名またはコマンドが違います A:\>
make -k love
I don't know how make love.
#if defined A func(){ ・・・} #elif defined B func(){ ・・・} #else func(){ ・・・} #endif こんな感じで同名の関数や変数テーブルが用意されていてdefineで使い分けているコード・・・ これの作者はC90信者なのかコンパイルオプションに-ansiを欠かさない、コメント文は全て/**/ 関数の中も#if definedだらけ・・・ これって普通なのでしょうか?私はかなり気持ち悪いんですが。 VCで定義位置を参照したら別の設定の場合とかしょっちゅう・・・(−−;
・コンパイルオプションに-ansi必須 ・コメントが全て/*〜*/ てのと ・#defineで同名の関数の中身がころっと変わる てのは全くの別次元だと思うんだがどうか。 少なくとも漏れは下は異次元だと思う。
>81 上は単なる趣味というかプロジェクトの方向性ってだけだけど 下のほうは最悪、デバッグすら出来ない屑コードになるな
glutのソースとかは
>>80 の言うようになってるな。
複数のウィンドウシステムに対応したい場合とか
他にやりようが無いと思うんだけどどう?
>>83 やりようはいくらでもある。
#ifdef SYSTEM_FOO
#define funcA(param) funcFoo_SYSTEM_FOO(param)
#elif SYSTEM_BAR
#define funcA(param) funcFoo_SYSTEM_BAR(param)
#endif
みたいな define を切った上で、各システムごとに別々のソースファイルに
分けておくのが俺は好き。
最初っから他のウインドウシステムとかに対応するつもりで 設計して他のなら兎も角、継ぎ足し、継ぎ足しでプログラムを 拡張していったら、そうなってしまった……。 のではないかとおもふ
>>84 glutとかdllにして使うので関数名が変わってしまうとまずいのでは。
dllにしなくても何かトリック使わないとリンクエラーにならない?
システム毎ソースを分けてmakefileをいくつか用意するとか?
>システム毎ソースを分けてmakefileをいくつか用意するとか? そこまでやるならdefineで分ける必要は無いだろ
要は継ぎ足しのコードや共通化されるべきコードが入り交じった ソースを見ていると、この会社辞めたくなる、というわけですね。
ふと思った。前にいた会社で、アルゴリズム部分を簡単に差し替えできる ように、という依頼があって、とりあえずアルゴリズムの中核だけを1個の ソースファイルにまとめたことがあった。(ちなみにC) ……あれをモジュールごと差し替えじゃなく、継ぎ足し書き換えで 保守していったらそういうコードになるだろうなぁ。
90 :
仕様書無しさん :03/06/08 00:54
会社辞めたぁなるというか、 「プログラムやらないでくれ!!」って言いたくなるのはあるねぇ。 必要のないものまで引数渡しにするとか、 バッファオーバーランが起きそうなコードとか。 最悪なのが、全部の関数プロトタイプを 1つの.hに書いてて、 「何がしたぁのか判らん!!」って客先で怒鳴ってしまった。 今、バッファオーバーランを特に気をつけるぞ。
struct S { char* buf[64 * 1024]; size_t length; int type; void* owner; }; とかあるとき、 int foo( struct S s ) { } とかって、値渡ししてるソースを引き継いだことがある。
92 :
仕様書無しさん :03/06/08 01:17
こーゆうのは? int foo(struct y* y, struct x *x) { y->a = *x; ...
93 :
仕様書無しさん :03/06/08 01:22
今いるプロジェクトの規約でこんなのあるんだけどどうでしょうか? char strbuf[HOGEGE_MAX_LEN +sizeof(char)]; +sizeof(char)ってするのなんか中途半端で キモイような気がするんだけど。 +sizeof(char)をどうしてもやりたいっつーならこうでしょ。 #define HOGEGE_MAX_LEN 10 +sizeof(char)
>>93 +sizeof(char)ってのが何を意味するのか?
って、たぶん文字列末尾の'\0'のことだと思うが、
そういう意味なら、
char strbuf[HOGEGE_MAX_LEN +sizeof(char)];
が正しいと思うが。
HOGE_MAX_LENをバッファのサイズでしか使わないのか?
そのバッファに入れることの出来る文字列の最大長とかの
意味で使わないのだったら、それでも解るが。
というか配列のサイズの中にsizeofを書いてどうするのかと小一時間(ry
96 :
仕様書無しさん :03/06/08 01:33
>HOGE_MAX_LENをバッファのサイズでしか使わないのか?
______
/_ |
/. \ ̄ ̄ ̄ ̄|
/ / ― ― |
| / - - |
||| (6 > |
| | | ┏━┓| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | ┃─┃| < 正直、スマンカッタ
|| | | | \ ┃ ┃/ \________
| || | |  ̄  ̄|
>>94 の言うとおりでつ。
>>93 の下2行は消してください。
でも「+sizeof(char)」をタイプするときにママンに嘘ついてるような
罪悪感を感じるんでつ。なんでだ何でだろ〜
97 :
仕様書無しさん :03/06/08 01:34
文字列扱うんだったら、 俺はstringクラス使うけどな。 charバッファはオーバーラン起こりそうで使えなくなった。 やっぱりC++に限るわな
>93-94 まんまと騙されますた 気付いた95は偉い。
99 :
仕様書無しさん :03/06/08 01:43
100 :
仕様書無しさん :03/06/08 01:57
未だにVC4.2使用。 VC6を使わない理由:汎用ライブラリがVC6だとコンパイル出来ない。 ・・・この会社に入ってはや3年。 VC4.2にも愛着がわいてきました。
101 :
仕様書無しさん :03/06/08 02:00
>>100 ねー、汎用ライブラリって例えば何のことー?
102 :
仕様書無しさん :03/06/08 02:01
>>101 鼻を噛む時や、汚れを取るときに使うティッシュみたいなやつ。
ふーん。
凡庸ライブラリ
はにょうりぶ
望洋ライブラリ
はにゃーん(ry
ryはrybraryの略ですか?
109 :
仕様書無しさん :03/06/08 11:34
Rubyの略です。
>99 じゃあマジボケですか? まあ俺も95を読むまで気付かなかった訳だが。 例えば char の代わりに int の配列を使うとして int buf[HOGE_MAX_LEN +sizeof(int)]; って書くかい?
111 :
無料動画直リン :03/06/08 13:13
112 :
仕様書無しさん :03/06/08 13:28
113 :
仕様書無しさん :03/06/08 13:34
>>95 sizeof演算子を配列の中で使って何が悪い?
突っ込むべきはそこではなく、
sizeof(char) にいったい何の意味があるんだと問い詰めたい・・・
絶対に1にしかならないんだが?
sizeof(TCHAR)ならわからないでもないと思う。
>>113 配列領域を一個多く確保する場合、sizeofなど使わず
*** buf[MAX_LENGTH + 1] とやれば
sizeof(***) が何であろうとも絶対に一個分多めに確保できますが。
というか
>>110 も言っているように
int buf[MAX_LENGTH + sizeof(int)] とやると
(たいてい) 四個多く確保されてしまいます。
sizeof(char)が1になるって保証されていることを知らなかっただけでしょう。
我ながら暇人だと思いつつ解説。 char buf[HOGE_MAX_LEN +1]; このとき、HOGE_MAX_LEN は文字数なので単位は「個」。 1 の単位も「個」。 何が1個なのかといえば、文字列の終わりを示す '\0' が文字1個である、ということ。 一方 sizeof(char) では、単位は「byte/個」。 単位の異なる値をそのまま足し算なんてできません。 >113,114,116 それはまた別の話。 sizeof(char) と書いても決して無意味じゃないし。 >115 細かい突っ込みで悪いが、(たいてい)3個ね。
逆にsizeof(char)=1で頭がいっぱいなんだろ
119 :
仕様書無しさん :03/06/08 16:44
引数はこんな感じ (HOGE_MAX_LEN+1) * sizeof(char) じゃあcalloc()使うべきだな
漏れ、誰かが型をchar→hogeに変えた時、sizeof(hoge)を入れ忘れんように sizeof(char)をあらかじめ入れておくのだが、コレって余計なお世話か?
型をhoge に変えて且つ null-termination に依存し続けたらバッファオーバ(ry
サイズ指定してるのに? mallocやnewでの指定を変え忘れでオーバーフローはあると思うが…
>>115 >int buf[MAX_LENGTH + sizeof(int)] とやると
>(たいてい) 四個多く確保されてしまいます。
>>117 >細かい突っ込みで悪いが、(たいてい)3個ね。
すまん、なんで3個なのか分からないので教えてください。
sizeof(int)は、(たいてい)4「byte/個」バイトだよね?
「MAX_LENGTH分と余分の1個分」より、さらに「3個多い」って意味?
まだ続いてたのか… いいかげんネタに思えてきますた。 char buf[ ]; ~~~ ここに入れるのは「バイト数」じゃなくて「配列の要素の数」だろ という、ただそれだけの話なんだけど。 char の場合はたまたま両者が一致するが混同しないように。
もともとやろうとしてることが意味不明なので何個多いかは分からない。 なので3個も4個もどちらが正解ともいえない。 「たいてい」と書いてあるところに突っ込みを入れた117が悪い。
char buf[HOGE_MAX_LEN +1]; //sizeof(char)分余計に確保 int buf[HOGE_MAX_LEN +1]; //sizeof(int)分余計に確保 hoge buf[HOGE_MAX_LEN +1]; //sizeof(hoge)分余計に確保
ちょっと誤解&言葉足らずだった。 >「MAX_LENGTH分と余分の1個分」より、さらに「3個多い」って意味? そういうことです。 スマソ>115
だから、sizeof("")と書けと・・・
>131 sizeof("") / sizeof(char) でないと sizeof(char) と実質的に変わらないよ。
133 :
仕様書無しさん :03/06/08 23:38
ここまでやればすっきり? #define NULLTERMINATE (sizeof("") / sizeof(char)) char buf[HOGE_MAX_LEN +NULLTERMINATE];
134 :
名無し@沢村 :03/06/08 23:39
sprintf("ある晩、二人の男が風呂に入った。 一人がもう一人のちんぽを見た。 そいつのちんぽはドス黒かった。使い古した後がうかがえた。 「おまえ、ずいぶん女を泣かせただろ?」 「いや、おれはまだ童貞だ」 そいつのちんぽはせんずりで使い古したのだった。 ");
135 :
仕様書無しさん :03/06/08 23:45
Perlか何か? 確かにこんなのが埋まってたらやめたくもなるね。
Cじゃないか? コンパイル通らないけど。
sprintfで引数1個の言語って何?
Perl, Ruby,... あとは知らん。
たしかに、、、もし [HOGE_MAX_LEN + 1] って書いたのを
「定数を裸で書いちゃ駄目だろ!」って
>>133 に直されたら、
さすがに辞めようって思うよ
漏れの環境では sizeof("")/sizeof(char) = 4 になりそうだよ〜。 まじー?それともねた〜?
143 :
仕様書無しさん :03/06/09 01:58
>>141 「定数を裸で書いちゃ駄目だろ!」っていう方向だから>133に書いてあるように直すよ。
とりあえずdefineにしとけば、リーダー説得したあとで好きなように一気に置換できるし。
#include <stdio.h>
int main()
{
printf("NULLTERMINATE= %d\n", sizeof("")/sizeof(char));
return 0;
}
俺んとこではこうなるよ。
NULLTERMINATE= 1
4になるの?
まじー?それともねた〜?
「定数を裸で書いちゃ駄目だろ!」なら #define NULLTERMINATE 1 これでいいのかも
>>143 ああ、漏れが勘違いしてたよ〜。ごめんねー。
( sizeof(char*) と間違えた )
単なる高速化&機能追加の依頼だと思ってたら 「実行途中でフローティングエラーが出るから1ヶ月以内にバグフィックスもお願い」 だそうだ。 バグが再現するまで3週間かかる計算なのに・・・ 2ヶ月専念させてくれるなら一から開発したほうが絶対いいって(−−; このソース見てると胃に穴が空きそうだ。 並行でsolaris9でサーバー新設やってるんですがやたら時間かかりますね。 Linuxみたいに入れてすぐ使えるOSがやっぱりいいわ〜
>>147 年度末や連休前後に胃が痛くなることを思えば太陽の方がぜんぜんマシよ。
いろいろ使ったけどやっぱり Linux は Solaris, HP-UX, AIX に比べて I/O が
多くなると不安定気味。専用ハードに専用設計 OS がやっぱ安定するわ。
#define NULLTERMINATE sizeof('\0') とかやるといろいろ面白いぞ。
>>150 CとC++で挙動が変わることがそんなに面白いか?
>>150 えええーーっ
CとC++で挙動が変わるのか!!
って書いて欲しかった?
スマソ
>>150 のってCとC++でどう違うんだ?
無知な漏れに教てくれ
>>153 '\0' は C だと int だけど、C++ だと char
~/prog % cat ahya.c #include <stdio.h> int main() { printf("sizeof('\\0') = %d\n", sizeof('\0')); return 0; } ~/prog % cc ahya.c && ./a.out sizeof('\0') = 4 ~/prog % c++ ahya.c && ./a.out sizeof('\0') = 1 ふむ
全然関係ないんだけど、C++というコマンド名が ちょっとやだな、と思った漏れはダメダメでしょうか?
CとC++のC言語の範疇では、微妙なところが微妙に変わっているようだが、 そういったことを完全に把握してる香具師いるか? 漏れはほとんどC++を使うからあまり意識してないんだが、まずいかな。
>131=112 >127
漏れは初めに見たのがクラスのないC++ソースだった・・・
>>149 ごめんよ
Floating exception (core dumped)
だった
>>159 > CとC++のC言語の範疇では、微妙なところが微妙に変わっているようだが、
> そういったことを完全に把握してる香具師いるか?
完全に把握しているとはいわないけど、
・文字リテラルの型(C:int, C++:char)
・関数宣言(C:宣言しない場合、intを返す関数を暗黙で宣言する, C++:宣言しないとエラー)
これぐらいはC/C++使いの常識だと思っていたのだが...
CとはC++のサブセットのC違いはCのポインタと配列ぐらい違う。
void *から他のポインタ型への暗黙のキャストとか。 int *p = malloc ( sizeof (int) * size ); CだとOK。C++だと駄目。
そういう、コンパイルエラーがでるところは、 まあ、大した問題じゃないわけだ。
漏れが今使わされてるCコンパイラは struct A* に struct B* を入れても警告しか出さないです。 struct A* に struct A const* を入れても警告も出さないです。 これってCだから?
>>162 たいていの人が最初に見るC++ソースにはクラスがないんじゃないか?
StroustrupのHello, new world.
C++前提なんだけど、回りじゃ typedef struct .. ってやる人が多いです。 自分は滅多に typedef 付けないけど、まずいですかね? (規約がある訳じゃありません)。
>>169 別にいいんじゃない?
C++のコードをCで書き直すことはまずないだろ。
逆はあっても。
>>168 うちの会社が作ってる製品のソースなんだ・・・
"Hello, World!" が?
クソコードに機能追加とかするときって元のソースに合わせてクソな 書き方する?それとも浮いてまうの覚悟でマトモな書き方する?
外側から機能だけ呼び出す形に封じ込めてコードの中には立ち入らない それがダメだったら仕方なく作り直す
>>173 浮き過ぎない程度に、まっとうな書き方を。
177 :
仕様書無しさん :03/06/13 18:13
漏れ自分が入社したときに作ったPGの改良を頼まれて 自分の担当した箇所を見て絶句 Dim 開始 Dim やる Dim 終了 型も切ってないし日本語だし、「やる」ってなにやるんだよ とかなり赤面しました
>>177 それは証拠湮滅のチャンスが与えられたということだから,会社辞めなくてよかったと
思えるソースコードでもあるんじゃないかな。自分が辞めてたら今頃誰かがそれを見て笑って
るわけだし。
もう遅い、俺が笑った
入社直後にVariant型連発や日本語変数やっちまうのは基本だ。気にするな 入社後数ヶ月の間に、規約関係の本を読んで改宗するかどうかでその後が決まるな
赤面できるようになっただけ 成長したと思って強く生きろということか…
a=b=c;(C言語) 間違いでは無いんだが、んなもん知らん!
「型を切る」ってうまい言葉だな。使わせてもらお。
>>182 はどこが会社を辞めようと思ったソースコードなの?
186 :
仕様書無しさん :03/06/14 10:39
「型を切る」って一般的には typedef int Hoge; みたいなケースを指すのでは?
>>180 でも新人がそんなコード書いて誰も注意せずに納品ってダメな会社
だと思う。
>>177 のプログラムの位置付けが、わからんから一概には
いえないけど。
以下、処理と引数を省略した以外はそのまんまコピペ。 'CheckText Private Function CheckText() As Boolean '省略 End Function 'CheckTextのサブルーチン Private Function CheckTextSub() As Boolean '省略 End Function 'CheckTextSubのサブルーチン Private Function CheckTextSubSub() As Boolean '省略 End Function 'CheckTextSubSubのサブルーチン Private Function CheckTextSubSubSub() As Boolean '省略 End Function 関数名も関数ヘッダも原文まま。なに考えて命名しやがった。
VBにしてはまともな方だよ。
>>188 周囲が皆それどころじゃないので新人の書いた糞コードのまま納品
#define INT_CONST_5016 5016 /*保守性のためマクロ定義*/
漏れの作ったプログラム、テスト通ればOKって感じで 未レビューで納品しちゃった・・・ 自分で言うのもなんだが酷え作り。 顧客は分からないからソースは見ないっつってたから改善しろ! っていわれることはないと思うが。 とりあえず今のところ順調に動いてるようだが 問題出る前にドロンしたいな・・・
static char *get_token (FILE *in) { char b [32]; /* 1000行ぐらい */ gets (b); /* 1000行ぐらい */ return b; } inは使われてない。 そもそもこの関数が呼ばれてない。 ファイル名がaa.c。 なんかget_token2とかget_token3とかいう関数がある。 が、結局どれも呼ばれてない。 良く見るとファイル内の関数が全部staticだ。 fとかいう関数があった。 鬱だ。
呼ばれてないならいいじゃんw
( ゚ д ゚ )エッ!?
ファイル削除してビルドしてみて、通れば解呪成功。
>199 ディスペルかよw
ネタだとばかりに思っていたretrunを目の当たりにした…
RetRunner
>201 次はmein関数?
/* a=b; この行なぜかコンパイルエラーになる */ a=b; (´ー`)ほのぼのした
>>193 #define INT_CONST_5016 5016 /*保守性のためマクロ定義*/
#define INT_CONST_5017 5017 /*保守性のためマクロ定義*/
#define INT_CONST_5018 5332 /*保守性のためマクロ定義*/
>>205 #define INT_CONST_5016 5016 /*保守性のためマクロ定義*/
#define INT_CONST_5017 5017 /*保守性のためマクロ定義*/
#define INT_CONST_5018 5332 /*保守性のためマクロ定義*/
#define INT_CONST_5018_ORIG 5018 /*副作用回避のためマクロ定義*/
207 :
仕様書無しさん :03/06/17 02:21
>>205-206 それってどうやって使うの?
// バージョン番号を #define すれば解決なんじゃ…。
209 :
仕様書無しさん :03/06/17 11:54
>206 いや、むしろこっちかと。 #define INT_CONST_5016 5016 /*保守性のためマクロ定義*/ #define INT_CONST_5017 5017 /*保守性のためマクロ定義*/ /*#define INT_CONST_5018 5018 *//*保守性のためマクロ定義 値変更に伴い廃止 2003.06.17*/ #define INT_CONST_5332 5332 /*保守性のためマクロ定義 値変更に伴い新規作成 2003.06.17*/
全然関係ない話で申し訳ないんだけど Javaって、確か日本語のクラス名とか変数名OKだよね? ってことは class ぬるぽ extends NullPointerException { } とかしたら try { } catch (ぬるぽ n) { System.out.println("ガッ"); } とかできるの?
>>210 } catch (NullPointerException) {
ではいかんのかと小一時間(ry
>>211 喪前はソースコードの中にぬるぽと書きたくないのかと小一時間(ry
ぬるぽをスローする側を作るのがめんどくさそうだ。
単にNullPointerExceptionのラッパーではいかんですか?
>>210 試せ。
public class Test {
public static void main(String[] args) {
try {
throw new ぬるぽ();
} catch (ぬるぽ n) {
System.out.println("ガッ");
}
}
}
class ぬるぽ extends NullPointerException {
}
C:\tmp\java\test>java Test
ガッ
ぬるぽ.classというファイルが出来上がって非常に鬱になれます。
ワロタ しかし、生成されるファイルに困るな。 WindowsからUNIX系に持っていったら動かなくなったりして。
218 :
仕様書無しさん :03/06/18 19:34
よく出てくるこの (ry ってなに? 良識的に考えろとかそんな意味?
(略→(ry
(rythmicalに
>>218 キーボードのrとyに対応するひらがなを見よ
すん
223 :
仕様書無しさん :03/06/18 22:09
>>221 すん
ryはryakuの略ではと鯉知事姦
♪ryryr-y
224
>>225 ケコーンしてください。マジデ
227 :
仕様書無しさん :03/06/19 00:45
rhakuはこうだよ。 お前らいい加減ヘボン式使えよ。 変数名ローマ字はいいんだけどヘボン式とかに 統一されてないのいらいらする。
変数名ローマ字はイライラする。マジで。
既存のコードに、こんなのがあった。これは、僕が書いた。 class Base { const int limit; // 上限 public: Base( int newLimit ) : limit( newLimit ) {} int GetLimit() { return limit; } }; limitは、絶対設定してもらいたかったから、デフォルトコンストラクタは 作らなかったんだ。配列を確保する必要もなかったしね。 で、上限値だけじゃなくて、下限値も必要になった。そこで、派遣さんに下限値を持つサブクラスを作ってもらうことにした。
しばらくして「publicにしといたよ」って返事が返ってきた。 「publicって何?」って聞いたら、「公開派生」を示す「public」を マウスで選択してくれた。 どうも某派遣会社では、公開派生の事を「publicにする」と言うらしい。 class Sub : public Base { public: int Under_limit; int Over_limit; Sub( int Under_limit, int Over_limit, int newLimit ) : Base( newLimit ) { this -> Under_limit = Under_limit; this -> Over_limit = Over_limit; }}; 「なんで全部publicなの?」って聞いたら 「もしかして、protectedにしたがる人?」って返事が返ってきた。 もういいやどうでも、って思った。 もうGetLimit()メソッドとlimitフィールドは使いそうもないので、 「コメントにGetLimit()はもう使えない、って書いといて」 とだけ伝えた。 彼も苦心したはずなんだ。 スーパークラスのコンストラクタの呼び方を知らないで困ってたしな。 これがやつのポテンシャルなんだな。これ以上の期待はダメ... しかし...派遣PG5年やってて...
5年のうち4年半がCOBOLとみた
232 :
仕様書無しさん :03/06/19 01:12
>>230 どうでもいいならわざわざ2chなんかに書き子するなよ。
>>231 2年くらいはVBで、あとはC/C++らしいです。
いや、そう言えば、うちに派遣に来た当初、
enumも知らなかったな、その人....
>>233 外注のスキルシートや経歴を真に受けるな。
かくいう漏れも偽装派遣社員だが、会社が勝手にスキルシート捏造して
3年目なのに6年目ってことにされて外に出ている。
会社(営業)の力不足をこっちにしわ寄せしてるわけだ。
しかも一年目からずっとこんな感じ。
おまけに案件に応じてそれに合わせた捏造をしてるから
内容の違う物が数種類出回っていることになる。多分この会社長くない。
漏れは今年か来年に引っ越す予定があるのでそのときに辞めるつもりだが
そういう事情のある人間もいると言うことを頭に入れておいてくれ。
まあそいつは単に勉強不足なだけだろうが
>>235 いや、スキルシートとかじゃなくて、雑談してた時に、
自慢そうに、彼自身、経歴をそう語ってたのです...
まぁあんまり話してるとスレ違いになってきそうなので。おやすみなさい。
このPrjもう数年間続いて、ようやく佳境を迎えつつあるんだが I F 仕 様 書 が な い っ て ど う い う こ と よ ?
IFって?インタフェースだよね? つか、なんのIF?UI?
>>239 しかも「バグ扱い」にされそうなヨカーン
インタフェースは、普通、I/F とかにしない? どうでもいいっちゃぁ、どうでもいいけど、3文字語も4文字語も 飽和状態でわけわからなくなってるから、混乱の種を増やしてくれるなよな。
全然釣れなかった。 素直に普通のネタ探してこよ。
>>230 Sub コンストラクタの最後のパラメタって必要なのか? と問うてみる。
不要だとしか思えないけど、派遣さんが作っちゃったからなあ。
245 :
仕様書無しさん :03/06/19 09:29
今どき、国際規格でもないヘボン式で書けとか言ってる時点で 釣りなのでは…
>>246 ローマ字に国際規格とかあるの?
ISO?
でもまあ、パスポートや道路標識ではヘボン式が使われてるって事だから、 少なくとも日本では正式な表記と考えていいと思うけど。
>>248 まじで?>247の一つ目のサイトで
「なんば」を「NAMBA」と綴る例が出てたけど、
パスポートってそうなってるの?
変なのー。
関数名だって英語ばっかなんだしヘボン式でいいじゃん つか、別にヘボン式じゃなくてもいいけど>227みたいに書かれたら 気持ち悪くてかなわんな ・・・別に辞めようとまでは思わないが
逆に無理に英単語にしてるのとか、さらに微妙に単語が間違ってるとかも見ていて辛いな。 あとスペルミスも。
おまえら、sb_huraguとかいうメンバみたらどー思うよ。 しかも、「sbってなに?」って聞いたら、「識別の略なんですけど・・・」 という答えが返ってきた。 てめーは会社辞めてとっとと田舎帰れ!! と口から出そうになるのを 鉄の自制心で必死に抑えて、「うーん、ただ識別フラグじゃあ何の識別なのか 分かりにくいから、もうちょっと表意的な名前にしてよ。あと、フラグは、 えふ、える、えー、じー、な。ははは」と、笑顔で答えた俺は、我ながら 仏のようだと思うのだが、どうか。
「drapeau」とかって教えてあげてこそ仏っぽい。
ローマ字で書かれる位なら、英語で書かれている方が見やすい。 例えば、 connect( /* 略 */ ); が sethuzoku( /* 略 */ ); とか書かれてたらどうよ?
英単語一文字つかわれてシステムコールなんかと名前がぶつかってるのがイタイ。 名前空間きっちり使ってるなら文句言わないけど、何も考えずにヘッダで using namespace std; するくらいの無意識っプリだし。
>>256 sethuzoku せてゅぞく
な訳だが。
ワロタ
void sethuzoku(Onna o); Onna& gethuzoku();
const Onna& gethuzoku() const; だったら見るだけですか?
const Onna& gethuzoku() const throw();
gethuzoku().connect(); bus error
セット付属で盛り上がってるとこ申し訳ないんだけど 聞いたこともないようなHCPチャートとかいうのをやらさせるおいらは もう会社をやめようかなぁ、と思ってまつ なんつーか、そこまでN○Tにへーこらしなくても・・・
HCPチャートっぽい模様を出力するプログラム作れば
>>267 「やらされる」だよな?
「やらさせる」じゃぁ、おまえも一味になっちまうぞ(w
(・∀・)七味ハケーン
273 :
仕様書無しさん :03/06/21 02:30
274 :
仕様書無しさん :03/06/21 04:24
Shellで rm -rf ${INST_HOME}/var/* OS入れ直し。 人間辞めようかと、思った。
>>274 rootユーザしか設定されていないマシンで!!
/bin/で!!
rm *を!!
(恐ろしいことに、そのプロジェクトでは、/(中略)/(開発ソフト名)/bin/で rm*を実行してからテスト用バージョンを入れよ、という掟があったのだ!!)
UNIXシステムにおけるユーザ管理の重要性について、身を持って知ることとなりますた。
277 :
非プログラマ>>ALL :03/06/21 12:19
プログラマってけっこう、ピンきりなんですね?! でもって、みんな俺が一番だくらいに考えているんですか?
こんなコードがあった。これは、一緒に仕事してる派遣さんの書いたコード /* 文字列を受け取っていろいろする関数。 */ /* コンテキスト的に、origは最大31文字。*/ void func( char* orig ) { char name[31]; strcpy( name, "" ); strncat( name, orig, 31 ): // : } strncatで文字列コピーするのは、Cでは常套手段。だけど、name[31]では足りないよね。ぼくは、name[32]に変更してもらおうと思って、 「ねえ、これ、strncatのところで、オーバーインデックスするかもだよ」 と教えてあげたんだ。
そしたら、こんなコードになってた。 void func( char* orig ) { char name[32]; strncpy( name, orig, 31 ); // : } これだと、origが31文字だった時、終端文字がnameにコピーされない。 そこで 「ねぇ、これだとあとでnameを参照する時にオーバーインデックスしちゃうかもだよ」 って教えてあげたんだ。
そしたら、こんなコードになってた。 void func( char* orig ) { char name[32]; strncpy( name, orig, 31 ); strcat( name, '\0' ); } 突っ込みポイントが2個あって、 「そもそも終端されていない文字列に対してstrcat()を呼んでる」 「つか、strcatの第2パラメータが '\0' == 0 なので、ぬるぽ!」 なんてゆえば、彼のプライドを傷つけることなく 解らせられるかなぁ、って思って、しばらく考えてると、 彼が「あ、このプログラムは変ですね。ちょっと考えます」ってゆってくれたんだ。
で、これが最終型。 void func( char* orig ) { char name[32]; memset( name, 0, 32 ); strncpy( name, orig, 31 ); } そもそも、memsetやstrncpyみたいに、 「配列の全要素をアクセスする関数」を使うと 効率が悪くなりがちだから、strncatを使って コードを書いてもらいたかったのに。 要素数が32個程度だし、バグにはなりそうもないので とりあえず、それでOKにしちゃった。 あーあ。
>>277 うんにゃ
みんな、自分が良い仕事をしていない事を理解しつつ仕事してる
「俺は天才プログラマーで仕事も完璧だ!」と思いながら、やってる奴は
DQNか変態ぐらいさ
無責任な上司は、完璧な仕事をしろと言うがな・・・
284 :
仕様書無しさん :03/06/21 15:25
「自分が一番かどうか」と「他者と自分でどちらがマシか」は違うよ。 優れてる人は俺様サイコー!天井天下唯我独尊」とか考えない。 考えるやつはまさにDQN
>274 ${INST_HOME} が空だったってこと? /var の下って何があるんだっけ。
286 :
仕様書無しさん :03/06/21 15:44
>>286 っていうか、snprintfって、結果の文字列を
確実にナル文字で終端するんだっけ?
たとえば、これは安全?
char buf[10];
snprintf( buf, 5, "%s", "Hello world\n" );
printf( "%s", buf );
snprintfがない処理系でも、そのくらい作ってやれよ
290 :
仕様書無しさん :03/06/21 17:28
元COBOLerが書いたCのソースは、なんか変なんだなぁ、 普通整数を入れる場合は、int を使うなりするのだが、 全部文字列として格納したがる。 int a=1234; で済むのに、 char a[]="1234" なんで?
>>290 char a[]="9999";
strcpy(a,"1234");
が正しいCOBlerC の書き方。
>>288 C99に準拠した環境であればOK.
でもC99非準拠なシステムのいくつかは
ナル文字終端を保証していなかったはず。
294 :
仕様書無しさん :03/06/21 19:30
for(int i=0; i<10; i++){ for(int i=0; i<10; i++){ syori( i ); } } うぇーん、お化けが出るよー。
295 :
仕様書無しさん :03/06/21 19:39
>>294 は
「syori」じゃなくて「shori」だろってことが言いたいの?
そのスコップじゃ掘れない(かもしれない)よ、と言いたいのだろう
>282 ローカル変数にコピーした後、そこで終わるだけなら void func(char *orig) { /* nothing */ } でいいような気がするが、なんか説明に肝心なことが抜けている ヨカーン。
>>282 ・何のための関数なのか?
・呼び出される頻度、要求される実行効率は?
・そもそも文字列をコピーする必要があるのか?
によって話は全く違ってくると思います。
299 :
仕様書無しさん :03/06/22 17:12
a[strlen(a)]=0; きちんと 文字列を ターミネートさせるんだってさ。
>>299 >ターミネートさせるんだってさ。
誰が言ってたのですか?
入社したての方ですよね
a.Ptr[a.Length]=0; ...やっぱし、意味無いや
304 :
仕様書無しさん :03/06/22 21:15
>>267 すまない。おれN○T社員だけどHCPチャートなんて聞いたことないんだが・・
>>282 純粋に速く小さくしたいなら、アホstrncatより、
name[sizeof name - 1] = '\0';
strncpy(name, orig, sizeof name - 1);
じゃないか?つーか、そんなことよりconstの教育の方が
重要だと思う。
>>297 おまいは「抜粋」という言葉を知らんのか
>>267 ウチも研修でHCPチャートやったな。(N○T社員じゃないけど)
フツーのフローチャートなんかよりはよっぽど描きやすいと思ったけどな。
シンボル図形が小さくて場所を取らないところもいいし、ブロックの
まとまりやループ構造もわかり易いぞ。
これくらいで会社辞めるほどのことでもあるまい。
>>306 ばーか、strncpyの仕様をみてみろ。
>>308 おれはNTT系の社員で、HCPチャートは研修で習ったが、
ソースコード以上の書きやすさも読みやすさも持っていないし、
ソースに埋め込むコメント程の意味も持たない物だと思ったがな。
>>306 同意。自分はconst付けまくり派。
ところでJavaではfinalって聞いた(読んだ)んだが、Java屋さんfinal付けてるか?
>>312 Cはシランし、プログラム滅多に書かないんだが、
int function( const int x){}
みたいなやし???
C++の入門書を読んだとき以来、一度も書いたこと無いっす。
そこでconstはいらないでしょ。
>>313 まぁそんな感じだが...
重要な意味を持つのは、ポインタや参照を関数間で受け渡したり、
メンバ変数の宣言のときだな。
こんな感じ
class C {
const std::string l;
public:
C( const std::string& m ) : l( m ) {}
const std::string& getL() const {
return l;
}
};
こうすると、変な箇所でオブジェクトの値が書き換えられたり、
削除されたりすることがなくなる( = バグが減る )。
また「そのコンテクストでは変更されない」ことで
コンパイラの最適化が働きやすくもなる。
APIがうんこでconst全く使ってない場合は どうしたらいいでしょう?
>>314 いや、無意味ではない。
以下の例を考えてみるべし。
void foo( int n ) {
const int size = n;
for( int i = 0; i < n; i++ ) {
// :
}
}
このとき、sizeのconstは不要と言い切れる?
# まぁ、あんまり重要な働きはしないかも知れないが、
# この関数内で size の値を変えないのであれば、# どっちかってゆうと妥当だと思う...
さすがに const int x は滅多に書かない。 推奨するのは const char* str のようにポインタ類。 もし int function(char* str); って関数宣言されちゃうと呼び出す方が int ret = function("hoge"); って書けなくなるでしょ。 C++になって見通しは良くなったけど変数を多くの関数に与えている場合、変数がどの関数で変更されてるのか判りにくいんよ。 と言う訳で変更しないポインタ引数はconst付けてね、って事。後、参照もね。
>>316 「本来はそこにconstがあってもいい」って断言できるなら、
const_castすればいい。
そこがほんとにconstでない時はいったん変更してもよいオブジェクトにコピーせよ。
>>301 10年ほど前。当時の会社の先輩(ビジネス系プログラマ。)
まじめに語ってくれた。
自分はすぐやめたよ。
>>323 322=306が何を主張してるのかも、
310の突っ込みの意味もわかって無いでしょ。
文字列の終端の話じゃないよ。
>323 strncpyの仕様に絡めた方が判りやすいのなら、>306のやろうとしていることは strncpy(name, orig, sizeof name - 1)[sizeof name - 1] = '\0'; だよ。別に問題ないと思われ(いや、上のような書き方をしたら問題だが :-)
ああ、こっちの話ね > src の長さが n よりも少ない場合は、 dest の残りは NUL 文字で埋められる。 で279が複数箇所でマジックナンバーを使っていることがそもそもの原因なのには には誰も突っ込まないの?
マジックナンバー以前の問題。
>>326 ここにソースさらすときは#defineで定義してあった値もマジックナンバー
に変えてさらしてるけど、ダメか?
>>328 ダメじゃないけど、このスレの住人には
「書き込みの主旨」を読み取れないやつが多いからな。
マジックナンバーと言えば、みなさん特定のソースでしか 使わん#defineは書くなら何処に書きます? 漏れは一括管理しないんだったら、ヘッダー(.h)には置かず ソース(.c/.cpp)に置いた方が良いのでは、 と提言したら変態扱いされますた。 漏れの考えって、本当に変態的?
>>331 そもそも特定のソースでしか使わないのにdefineて・・・。
constのstatic変数にでもしとけば?
>>333 変数の初期値は当然#define切らにゃならんから、
火に油注ぐようなものです。
つーかconstとstaticもほとんど使われて無かったり…
今まで見た先輩の中で、まともに使ってたのは2,3人…
>>331 クラスで整数定数の場合ならクラス内(.h)にenumで書くのが好みですな。
constも良いけど.hで初期化できないのが面倒(今は出来るのかも..)。
templateの場合、enum、const で手こずった記憶があるけど何か忘れてしまった。
ちょっと疑問。 > 変数の初期値は当然#define切らにゃならんから、 > 火に油注ぐようなものです。 #define HOGE_CONSTANT 1234 と書くところを static const HOGE_CONSTANT = 1234; にすればいいだけで、別に別途 #define する必要は無いのでは? // 俺が勘違いしてるヲカン
>>336 いや、俺もそう思ったので、???だった。
>>336-337 >>331 がC++使ってないだけだろ。
もしかしたら、
#define HOGE_CONSTANT 1234
static const HOGE_CONSTANT_DATA = HOGE_CONSTANT;
とかやらないといけない規則なのかもしれないがなー
C++以前の問題。
ああ、static変数って言ってるんだからCでもそうかスマソ
>>338 > もしかしたら、
> #define HOGE_CONSTANT 1234
> static const HOGE_CONSTANT_DATA = HOGE_CONSTANT;
> とかやらないといけない規則なのかもしれないがなー
俺も一瞬それ考えたが……まさか?
>>341 >俺も一瞬それ考えたが……まさか?
いや、こんな規則ぐらいなら普通にあるw
禿しく趣味悪い規則だなw 可読性悪くしてないか?
344 :
仕様書無しさん :03/06/24 23:08
>>341 ビンゴ。
>>343 #define HOGE_A1 0xA1
みたいな定義が大半なんで、可読性はさほど悪くないです。(ニガワラ
コーディング効率は悪いけど。
ちなみに漏れは派遣で途中参加なんだけど、参加時点で
・全定数が1つのヘッダで#defineされてる
・定数を管理(命名規約を決めたり、分類する等)していない
という何とも芳醇なソースですた。
その後、機能別に分割するよう説得はできたものの、
>>331 で書いたように全部ヘッダに置いたままという…
コンパイル効率の悪化や、名前の衝突などデメリットを散々説明したけど
「#defineはヘッダでするもんだ」と受け入れられず。
各ソース毎に定数用ヘッダを作るのもアホらしいし…
どうしたものか。
346 :
仕様書無しさん :03/06/25 01:06
srcに#defineされると、2回grepする事になるから嫌い。 やめてくれって思うけど。 同じ理由でマクロの切り直しとかも嫌い。 constでも#defineでも、コメント書けばどっちでもいいんじゃないですか? ってか、コーディング規約って無いの?ヤバいでしょ。それは。
>>345 各ソース毎に定数用ヘッダを作りましょう。
「srcに#defineされると、2回grepする事になるから嫌い。 」 の、意味が全く和漢ナインですが。
349 :
仕様書無しさん :03/06/25 01:15
>>348 あれ?普通Cなら、1回目のgrepってgrep XXX *hじゃないの?
甘い?
>347 各src毎にxxxx_n.hっていうヘッダファイルを3つ 作ってたプログラムなら見た事あるよ。 1がI/F定義用、2が定数定義用みたいな感じで レベル付けされてたが意味がサパーリ分からんかった。 結局xxx_1.hに必要なもの詰め込んで他空っぽなのがほとんどだったが。 って同じPRJで働いてたヤシが一人はいそうな悪寒。
>>349 「普通」ってこともないが「甘い」ってこともない。
つーか、みんなが(そんなどうでもよさそうなとこまで)同じやり方だと
信じてる、その感覚がキモい。
>>352 そんなことをおしえてもらおうという発想がキモイ。
>>351 はケチでした
漏れはgrep XXX *だとか?(藁
grep って、拡張子複数指定出来ないの? ●丸みたいに。
C言語のプロジェクト内で"XXX"を検索するには? 1.まず、grep XXX *h を実行してください。('*'はShift+':'またはテンキーから入力できます) 2.・・・ とかいうマニュアルを片手に、 ぎこちなくキーボードをつつく おっさんの姿が思い浮かびました。
>>346 補足。
>>331 >>345 で、ヘッダではなくソースに置きたいと言ってるのは、
「変な規約のために仕方なく#defineしてる、特低のソースでしか使わない定数」
であり、本来はgrepする必要などないモノです。
あとマジでヤバいです。
周囲の会話聞いてると、ようやく気付きはじめてる様子。
>constでも#defineでも、コメント書けばどっちでもいいんじゃないですか? 変数とか定数もスコープ化しろっつーこと問題にしてるんじゃ? コメント書くのはむしろ常識の範囲内だろ。
% fgrep "^#define.*XXXXX" *
>>336 #define DEFAULT_NAME "guest"
static char *current_name = DEFAULT_NAME;
とか、するときの話でしょ?
>>360 ソースではないけれど突っ込みどころ満載のコマンドだな
>>362 じゃないけど。
いや、普通さ、
$ grep "define hoge" *.[ch]
じゃないの?
% egrep "^.[ \t]*#define[ \t]*XXXXXXX[ \t]" *.(c++|cpp|cc|h)
それを言うなら、 % egrep "^.[[:space:]]*#[[:space:]]*define[[:space:]]*XXXXXXX([[:space:]]|$)" *.{c++,cpp,cc,h} もっとも、普通はここまでやらずに、 % ggrep "#[ \t]*define.*\bXXXXXXX\b" * くらいで済ませてしまったり。
その前に、正規表現を使用しながらfgrepってところには 誰も突っ込まないのか?
368 :
仕様書無しさん :03/06/26 11:09
@ もし A かつ B ならば not B にして、C する A もし A かつ not B ならば B にして、C する これを書けばこんな感じなのでしょうか? if A and B then not B C if A and not B then B C @A両方を行いたいのですが、永遠にループしてしまいます。 そうではなく @の場合はAを一度行って終わり。 Aの場合は@を一度行って終わり。 このようにしたいのですがどうすればよいでしょうか? どうぞよろしくお願いします。
>>368 この会社辞めようと思った仕様書ですか?
>>368 は、WebProg板からの誤爆。
……なんでこんな誤爆をするのか全く理解できんのだが。
>>368 はハングル板でも見かけたんだが。
もしや、何かの釣りなんだろうか。
373 :
仕様書無しさん :03/06/26 13:16
struct foo1 { int a1; int b1; // : }; struct foo2 { int a2; int b2; // : }; struct foo3 { int a3; int b3; // : }; // おんなじのが続く // : struct hoge { struct foo1 f1; struct foo2 f2; struct foo3 f3; // 続く };
なんかシュールだな。
>>368 ってこれだけのことだよな...
if (A) {
B = !B;
C;
}
宇宙船サジタリウスはここですか?
ご期待通りに現れませんw
>>373 それはきっとプログラムで自動生成したソースで
マクロを駆使したトリッキーなコードになってるんだよ。
多分。
大人が懐かしがることもない
宇宙便利舎かよ
このスレの連中は拍手をするほど働いてる?
だからといってダメじゃない・・・・のか?
サービス残業は、結構いいとこ……にしたくないなぁ。
オレらは星屑でつか?
星屑少年隊
int test(void) { char buff[128]; int result; (なんか前処理) while(1){ menu_disp()/*メニューリストの表示*/ result = get_menu(buff); if(buff[0] == '\0'){ break; } /*通常コマンドテスト*/ else if(buff[0] != '!'){ if(buff[0] == '1' && buff[1] == '\0'){ (テストのための処理) } (中略) else if(buff[0] == '4' && buff[1] == '0' && buff[2] == '\0'){ (処理) } } } (いろいろ後処理) return 0;/*正常終了*/ }
五年程前に作られた組み込み用機器のプログラムの改造の仕事で、 手元に実物が無いので結構適当ですが、おおむねこんな感じ。 通常メニューが40、隠しメニューが10の総計50メニューあり、 1つのテストにつき5〜20行記述してあるので、 この一つの関数だけで軽く500行あります。 改造自体は至極簡単なもので、あまり作業時間をもらえなかったため、 この部分は一切いじってません…
>>389 たしかに20%もの隠しメニューを準備する会社はどうかと思うよな。
∧,,∧ うちの社が頼り切ってる ミ;゚Д゚彡 優秀な(とは思えない)海外パートナ企業が ミつ旦(ミ くれたソース、、、 〜と,,,~),,~) こんな書き方って普通だったっけ? Private Enum AParameters Number = 1 FirstName = 2 LastName = 3 …37コ略… End Enum Private Sub SendResultToClient(oMsg As cMessage) Dim iIndx As Integer Dim sendmessage As String Dim oMessage As cMessage Set oMessage = oMsg For iIndx = 1 To 37 Select Case iIndx Case Number sendmessage = oMessage.Number Case FirstName sendmessage = oMessage.FirstName Case LastName sendmessage = oMessage.LastName …適当に略… Case Else sendmessage = "" End Select 'データ送信 oSendObject.Send sendmessage Next iIndx End Sub
>391 データ送信をしない又は、データ送信の順番を後で簡単に変更できるように 書いたつもりが失敗したって事かな。
394 :
仕様書無しさん :03/07/08 01:27
#define PORT_80 80 #define PORT_23 23 ... はぁ...
for-switch構文って、この祖先スレでも時々出てくるし 自分が昔いたプロジェクトでも見たことがある。 人間の脳がある条件を満たすと、for-switch構文を使ってしまうんだろう。 きっとこれは、人間の脳の本質と何か関係があるんだ。
oSendObject.Send が引数に与えたオブジェクトを更新するのかな。 そんで sendmessage = oMessage.Number oSendObject.Send sendmessage sendmessage = oMessage.FirstName oSendObject.Send sendmessage って書くかわりに、>391 見たいに書いたのかな。 oSendObject.SendFinalObject とかを作ったほうがよさそうな気もするけど。
>395 つーか、stateを使っているのか、その辺を訳も判らず単純にコピペしたのか、 の違いと思うのですが…
俺はバウムクーヘン派
>>397 state?
なんかもしかして for-switch 構文が有効に活用できる場合があるんですか?
>>399 わけもわからずコピペして改造したからいつの間にか
意味のないfor-switchになってしまった、ってことだと思うよ。
・前の項目ボタン 「このボタンをクリックする直前にフォーカスのあったコントロールに対して タブオーダーが1つ前のコントロールにフォーカスをあわせる。」 素直にShift+Tab押すか、その「1つ前のコントロール」をクリックすれば すむだけだと思うんだが。
>>403 ためになったよ!
ありがとう。
それでやってみる
こんな所でメアド晒しちゃぁダメダメだな
>403 まだマシだ。IEのスクロールバーを右クリしてみろ。
int continuable_func( int start ) { try { for( int i = start; i < END; i++ ) switch(i) { case 0: any_processes0(); break; case 1: any_processes1(); break; case 2: any_processes2(); break; // : // : } } catch( ... ) { } return i; } for-switch 構文の使用例...
#define voin void #define maid main voin maid( long skirt );
goto HELL;
goto West;
412 :
仕様書無しさん :03/07/09 14:06
変数名が ringo とか mikan になっているソースは見たことあるな。 実際のシステムで。 サンプルそのまま使うなって言いたい。
>>406 笑えますた。
つか、こんなの知らんかったよ... :-p
何に使うんだろ?
>>406 うぉっ、すげぇ
こんなん初めて知ったよ
ちなみにコピペっぽいわけわからんソースは
関数のインターフェース仕様書とかが決まっちゃってて
どうにもこうにもならないんで、無理矢理処理しようとして
ダメダメぽになってるケースが多い、とか言ってみたりして
前工程をやり直させろ、と。
>>406 IE以外のスクロールバーでも同様になるものがあるので
スクロールバーコントロールの標準の機能ではないだろうか?
MS謹製のソフトウェアは、独自コントロールを実装していることが多いからあなどれない。 (Office とか) IEもたしか独自コントロールのオンパレードだったような。
∧,,∧ つまりスクロルBarの ミ,,゚Д゚彡 メニュ-を実装したやつは ミつ[|lllll]). Windowsの会社を 〜ミ ミ 辞めたくなっただろうなと。 ∪''∪
IE以外ってのはMS製以外ってつもりだったんだけど。 手元にあるアプリだとxyzzyとかeclipseとかffftpとか ほとんどのアプリのスクロールバーで同じ動作になってる気がする。
全部そうだよ。 スクロールバーのコンテキストメニューの内容は スクロールバーコントロールに普通に用意されているメッセージだし。 いつからかは知らないけど。
つまり、「仕様」と。
社内用スケジュール管理アプリの案件。 ユーザ情報のテーブル構造案の中に ・誕生日 ・好きな食べ物 ・好きな色 ・宴会等の案内回数 ・同・参加回数 なんて項目が。 なんでも、客先側窓口の上司が 「社員の誕生日にバースデーカードなどを贈れるように」 と入れさせたらしい。 結局「非業務目的のデータは個人で管理すべき」ということで却下された。 つか、宴会の参加回数なんかデータ化してどうするんだ。
>>422 宴会によく来るやつは会社に忠誠心があるって思ってるんだろ。
まぁ、誕生日くらいはいいんじゃないの? とか思わないでもない 誕生日をパスワードに設定してるアフォとかチェックできるしな って、スケジュール管理アプリか。
好きな色とか何に使うんだろw
誕生日/好きな食べ物/好きな色 この辺は上司がプレゼント攻撃で女子社員を落とすために 入れさせたんじゃないか。
ねえ、
>>406 ってなんなの?
わかんないんだけど。
429 :
仕様書無しさん :03/07/10 12:02
>>426 21世紀にもなってパンティーって言うなよ
じゃあ、スキャンティー
じゃあ、ショーツ
432 :
仕様書無しさん :03/07/10 15:11
>>428 漏前はIEの画面をスクロールさせるのに毎回右クリしとけ
>>432 いや、そのレスの意図もわからん・・・マジで。
>>435 実は環境によっては出ない罠
オレの所では出なかったのでIE以外のスクロールバー使ったぞ。
もしかしたら406がいっているのとは違うかもしれないが。
あの機能ってマウスキーのためにあったりするんじゃないかとちょっとだけ弁護
お、エクスプローラで試したら出た。 この「上にスクロール」とかのことでいいのかな?
MeのIE5.5だと、IEでは出るけどエクスプローラで出てこない。 2kのIE5.5なら両方出てくる。
新コントロールはだいたいIEやOfficeで先に登場して、 次の段階で標準コントロールに組み込まれてるよな。
#define CORON ":"
入社1ヶ月目の20歳の小僧です。 UIが全部ダイアログ。 グローバル変数上等、externの嵐。 newとdeleteのタイミングがばらばら。deleteし忘れ、2重newなんかも・・・。 関数が異様に深い。 条件次第で0配列を作ろうとしてる。 明らかに固定配列と実際にくる数が違うのでスタックぶっ壊しまくってる場面も。 根本的にエラーチェックが皆無に等しい。 3ヶ月前からわかってた致命的なバグを放置してた。(結局2日かけて自分で直した。) よく使われるルーチンが全部それぞれの関数へコピペなのでバグを取っても取っても・・・。 VC6にSP当ててないので理由を聞いたら返事は「そんなの要るの?」と。翌朝こっそりSP入れときました。 研修おあずけで残業既に100時間突破してます。 バグバグなコードを書きやがった先輩は毎日残業1時間くらいしかしません。 自社開発してる会社なのですが、今は出先で結合検査(実際は修正の毎日だった・・・)なので社長の私に対する評価は 「画面(UI)くらい作れるのぉ?」程度のままです。 未経験(趣味で2、3年C++やってた)文系大学中退なので拾ってくれた社長には感謝してるんですが あと3年経ったら辞めます(実務経験のためだけ)。 長文&愚痴&生意気な発言スマソ
>441 3年も居てどーする? 半年ぐらいで十分「実績」になるじゃん? 次の会社の面接で、前の会社は>441 だったので転職したいって 言えばおけー。
ところがどっこい。 3年以内で退職だと何を言っても逃亡兵と見られる向きもあったりする。 退職金もでないしな。
>>442 よく求人に実務経験3年以上とか見かけるんで社会では
このくらいで実務経験ありと見なされるのでは?と思ってたんですがどうなんでしょうねぇ・・・。
ただ、この会社給料が良いんで(残業代は出ないけど)
次プロジェクトに入れられたときは定時に帰るくらいの勢いでやります。
転職するまでには何個か資格取るつもりです。
情報処理かもしれないし、税理士とかかもしれないですw
>>443 今の会社は小企業なのではなっから退職金制度ないというオチ(;´Д`)
保険関係はしっかりしてるけど・・・。
漏れ2年で辞めてえらい苦労したよ。 結局、元・客先の会社に雇ってもらったのが情けない。 雇ってくれた理由が 「元・漏れの会社が納入したアプリがヘタレすぎる。 内部構造までわかってる香具師じゃなきゃまともに使えない」 ってのがますます情けない。
>>445 今やってるソフト、ソース知ってるから、あんなの50円で売ってても絶対買いたくない・・・。
自分が作ったものではないけど、携わった者として納得いかないです。
今日は早めに寝ることにしよう・・・
447 :
仕様書無しさん :03/07/11 23:39
うひゃー。441に激しく同情。 俺も最近入れられたプロジェクトで、ソースを見て愕然。 一個のクラス作るのに5個ぐらいのFactoryクラスを経由するような、デザパタの名を借りた意味の無いクラス群。 至るところに見られるマジックナンバーと、気まぐれに現れるstatic finalな定義。 GCをあざ笑うかのように同じオブジェクトを何回もプーリングして豪快にメモリリーク。 XMLファイル、propertiesファイルそしてソースの中と見事に分散された設定情報。 コレ見たときは本当に泣けてきた。 Foo foo; Vector vec = XXX.getXXX(); for (int i = 0; i < vec.size(); i++) { foo = vec.get(i); break; } バグかと思って確認したら、これがやりたいことだったらしい。vec.get(0)でないの?って 聞いたら、「それでもいいかもしれません。」だってさ。あんまりにもあんまりなので注意 したら「同じ意味だからいいんです!」って逆切れされたYo。 こんな人達が設計、実装しているステキアプリはただいまデスマ真っ盛り。
>>447 > 一個のクラス作るのに5個ぐらいのFactoryクラスを経由するような、デザパタの名を借りた意味の無いクラス群。
こんな感じか?
Foo foo = BarFactory.create().createBar().createBaz().createFoo();
> コレ見たときは本当に泣けてきた。
そいつは真性の馬鹿だな。
>>447 なんか経緯があったんだろうなって思うコードだ。
リファクタリングくらいしろよというつっこみはあるが、デスマ中じゃいじるのも怖いか・・・
>>442 3年いる必要はないけど、半年じゃ短いって思われるだろうね。
さすがにプロジェクトを一通り(要件定義からシステムテストまで)経験してないと。
451 :
仕様書無しさん :03/07/12 00:13
>>449 もともとはfooは配列で
(しかもそいつはVector.copyinto(...)を知らなくて)
でも配列だとあとあとの処理が面倒だからやっぱり
単一オブジェクトを扱うことにしたと勝手に推測
>>448 概ね。一行で書いちゃーくれないが。
FactoryのFactoryをFactoryBuilderとか呼んでいるのにも萎え。
もちろんBuilderパターンなどではない。
基本的にGoFを愚弄している。
>>449 当然リファクタリングを申し出たのだけど、上司は納期のせいで首を縦に振らず。
開発者達は自分達の設計や実装に満足しているので、協力してくれない。
もうだめぽ。
そうそう。あと、あれだ。コピペ。同じようなコードがたくさんある。
なんでかっていうと、「この部分はここのコピー&ペーストで実装してください。」
とかいう会話が日常茶飯事的にしょっちゅうある。しかも誰も疑問を感じていない。
そういう志が低い人達ばかりなので、プログラマを入れ替えないと、リファクタリング
するよりも早いスピードでバグが埋め込まれてゆくのだよ。
1メソッド2000行オーバー、インデントがめちゃめちゃなソースの改修。 こんなのよくある、別に珍しくないんだ…と思いたいけど、 最近あたってなかったので苦しい。
あるプロジェクトのライブラリのサンプルコード Hoge aHoge; Foo aFoo; Giko aGiko; Mona aMona; ...いや、サンプルコードだから構造体の名はなんでもいいんだけどね。 ライブラリの出来はなかなかの出来だったんだけどね・・・
だからさ、「念のため…」でソースのコピーを考えなしに作るなって言ってるわけよ。 ・src ・コピー 〜 src ・コピー 〜 src(2) ・src_最新 ・src_20030710 ・src_最新2 ・最新src ・src_backup 結局どれが最新なわけ?なんでどのフォルダにも更新日付2003/07/11 (しかも更新されてるソースはバラバラ)のソースファイルがあるの?
456 :
仕様書無しさん :03/07/12 01:34
俺もsrc_20030710 はよくやってるなあ。 だってCVS使い方わかんないんだもん・・ 日付入りなら許してくれる?
時間の前後関係がわかるように名前の付け方を統一せよ、という話では?
>>457 だろうね。あと、いらなくなったら捨てとけよと。
ちょっと気になったけどみんなCVS派なの?
RCSとかVSSみたいにファイルロックするタイプのものは使わない?
>>459 CVS無料だし。
個人的にRCSはチーム向きではないと思う。個人で使う分には便利と思い使ってる。
今日は他所様が休みで検査ないのでうちもお休みでした。
>>447 メモリリーク・・・。
うちのはVCデバッガのアウトプットにおさまらないほど出てるときもありましたw
漏れも一部再構築しましたが、副作用が出て大変でした。
>>455 0307**〜というフォルダが。会社にソースセーフあるみたいだから次からは使ってほしいです。
検査前日にコード書き直してたとき、急ぐあまりにint hogeを使ってしまった。反省。
CVSは解説してるサイトも多いことだし、 VSSに比べて、個人で試しやすいと思います。
C++ならメモリリークとはほぼ無縁だな デストラクタでメモリ必ず解放するし
>>463 (゚Д゚)ハァ?
自分で言ってる意味わかってんの?
463は自分がPGだと思っている素人 お前みたいなのがいるから糞ソースが出来ちまうんだよ
463みたいなのはJavaやC#でもメモリリーク起こしそうだ(w
>>467 Javaでリークって、JNIとか使えば出来るのかな?
きっとCOBOLでもメモリリーク
JavaScriptでもメモリリーク
参照カウンタ使ってる言語ならメモリリークは必至だな。 GC使ってるやつでメモリリークて、どうするんだ?
Perlはクロージャ使えば簡単にメモリリーク発生するかな?
GCがある言語でも、インスタンスをプーリングしっぱなしにするのは メモリリークだと思うな。
ruby 1.6.8 (2002-12-24) [i686-cygwin], Win98でメモリリークを試してみた。 #! ruby -- class A; def initialize; @a= nil; end; attr_accessor :a; end def leak; a= A.new; b= A.new; a.a= b; b.a= a; a;end ary= [];100000.times{ ary<< leak };ary= nil GC.start while true; sleep 1; GC.start; puts "?"; end こんなコードでメモリリークを起こしてるみたい。 どうも循環参照しているオブジェクトをGCが開放できないように見えるんだけど どうなんだろ?
477 :
名無しさん@Emacs :03/07/13 21:38
>>476 この場合は循環は関係ない。
ローカル変数のaryが生きてて、aryからleakで生成された全てのオブジェクトが
参照されてるせい。
ary = nil
すれば(多分)違って来るかと。
ごめん、すっごい勘違い。 ちゃんとary=nil;してるし。
Javaはjdk1.4あたりから循環参照は問題なくなったらしいよ。 いや、俺が調べたんじゃないんだけどさ。
>>479 JDK1.4?
はるか以前から循環参照は問題になってませんが。
Javaだと、「状態を持つSingletonに所有させたMap」で
メモリリークさせたことがあります。
__∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
463の言ってること間違ってるの? メモリリークってメモリ確保して 解放し忘れる事を意味するんじゃないの?(↓参照 俺は少なくともそう思ってるが? p = new int; // @ ... p = new int; // A ここでメモリリーク ... delete p; // @で確保したメモリは解放されてない
げっ、失敗した
なるほど、『デストラクタで必ず解放』だけ読むと 483に書いたようにメモリ確保するのは自由だと読み取れるな。 class XXX{ public: XXX() : p(NULL){} ~XXX(){ Delete(); } public: bool New(){ if(p){ Delete(); } return (p = new int) != NULL; } void Delete(){ delete p; } private: int *p; };
>void Delete(){ delete p; } void Delete(){ delete p; p = NULL; }
>485 バーコードがはがれちゃった!って感じだなw
490 :
仕様書無しさん :03/07/21 19:37
char* getMem(); void main() { char* mem; mem = getMem(); memcpy(mem, "moji", sizeof(moji); printf(moji); return; } char* getMem() { char* mem; mem = malloc(256); return mem; }
compile error.
>>490 memcpyの括弧が閉じてないのと、
memとmojiがごっちゃになってるような……
木を見て、森を見ず
森を見て、林を見ず どこ逝ったんだ林さん・・・・・
そんなことよりも、 void main() ってのが最悪だな。(w
mallocが成功したかどうか、memの値をチェックしろよ。
読んでたらマジで怖いスレだと今わかった
char と * の間にスペースが無いのに虫酸が走る
mallocしたメモリは、やっぱfreeするべきだと思うんだよな、作法として
4行目の次に、 char moji[] = "a"; って入れて、memcpyの括弧を閉じたら、完璧だよ。
sizeof(moji)とか文字列コピーにmemcpy単純に使ったりとか
502 :
仕様書無しさん :03/07/22 23:07
高卒がつくった無限ループ。 大卒のオレでさえそんな高度な技術は使いこなせないというのに・・・鬱
すまんがこれは main() に printf("%s","moji");ではイクナイ!のか?
すまんがこれは main() に printf("moji");ではイクナイ!のか?
いっそのこと % echo moji に。
putsでいーじゃねーか。 改行されるってのには、目をつぶるとして。
490 を書いたものです。イパーイ釣れた!
fputs("moji", stdout);
あとでファイル出力化する時とかに、修正が楽なように全部printfで書くんだが・・・・おかしいか? 昔は、putsとprintfの速度の違いとかもあったけど、 これだけ速いCPUだらけになったら、そんなこと気にすることも無いし。
>509 釣りにしては駄作だな。どの部分で釣ろうとオモタの?
せいぜい50文字の編集にしか使われない char tmp1[512],tmp2[512],tmp3[512]; 0/1/2しか想定されていない long n; 実装後も hoge 2>/dev/null で出力しつづけている fprintf(stderr,"変換前\n"); for(i=0;i<sizeof(buf);i++) fprintf(stderr,"buf[%03d][%02x]\n",i,(unsigned char)buf[i]); fflush(stderr); hoge(buf); /*コード変換 fprintf(stderr,"変換後\n"); for(i=0;i<sizeof(buf);i++) fprintf(stderr,"buf[%03d][%02x]\n",i,(unsigned char)buf[i]); fflush(stderr); 俺達って楽な時代に生きてるよな
>>512 いや別に・・・。なんとなくいやーなソースかなと。
キモイというか。
とりあえずレスを引き出すためだけに 3 秒で書いて
みますた。
ハッキリ言ってアメリカなどの多民族国家では黒人の方がアジア人よりもずっと立場は上だよ。 貧弱で弱弱しく、アグレッシブさに欠け、醜いアジア人は黒人のストレス解消のいい的。 黒人は有名スポーツ選手、ミュージシャンを多数輩出してるし、アジア人はかなり彼らに見下されている。 (黒人は白人には頭があがらないため日系料理天などの日本人店員相手に威張り散らしてストレス解消する。 また、日本女はすぐヤラせてくれる肉便器としてとおっている。 「○ドルでどうだ?(俺を買え)」と逆売春を持ちかける黒人男性も多い。) 彼らの見ていないところでこそこそ陰口しか叩けない日本人は滑稽。
ハッキリ言ってアメリカなどの多民族国家では黒人の方がアジア人よりもずっと立場は上だよ。 貧弱で弱弱しく、アグレッシブさに欠け、醜いアジア人は黒人のストレス解消のいい的。 黒人は有名スポーツ選手、ミュージシャンを多数輩出してるし、アジア人はかなり彼らに見下されている。 (黒人は白人には頭があがらないため日系料理天などの日本人店員相手に威張り散らしてストレス解消する。 また、日本女はすぐヤラせてくれる肉便器としてとおっている。 「○ドルでどうだ?(俺を買え)」と逆売春を持ちかける黒人男性も多い。) 彼らの見ていないところでこそこそ陰口しか叩けない日本人は滑稽。
>515 いやかいやじゃないか以前に>491
>515 すごいな! 490は15行だから1行当り200ミリ秒で書いたっつー事か。神だ!
460が1行書く間に、シャリバンは200回赤射蒸着する。 たいしたことないよ。
また蒸着かよ・・・
こーのかーいしゃ やめよかなー やーめよおおかなー
523 :
仕様書無しさん :03/07/28 00:48
int cunt;
cuntってなんだろうと思って、ググって最初に出たページを 何気に開いてみたら酷い目にあった。 というわけで、>523のソースは最低。o(`ω´*)o
528 :
仕様書無しさん :03/07/29 00:16
529 :
仕様書無しさん :03/07/29 00:19
530 :
仕様書無しさん :03/07/29 01:08
ところでBoundsChecker使ってる会社ってある? むかし体験版を使って、よく出来たソフトだなー なんて思ってたんだけど、 結構な値段するんだよね。 BoundsCheckerを使ってた時は、他人のソースを改修する前に、 必ず一発使ってたなー、破棄し忘れてるCBrushとかたまーにあった。
long cunt; short cunt; double cunt; signed cunt;
long long cunt...(*´Д`)ポワポワ
double cunt; に萌え
cunt寺院
535 :
仕様書無しさん :03/07/29 13:07
会社の子 に見せる為 age ごめんね。
会社の子にcuntを見せる...(´Д`)ハァハァ...
オレは会社の子のcuntが見たい...(´Д`)ハァハァ...
538 :
仕様書無しさん :03/07/29 16:35
他人のコードを組み込んだらエラーでまくって調べてたら まさか こんなもんがでてくるとはな・・・ // for #define for if( false ) {} else for // ef #define ef else if
>>538 >// for
>#define for if( false ) {} else for
それは、VisualC++のバグ回避の話か?このスレでも既出だと思ったが。
>// ef
>#define ef else if
気持ち悪いとは思うが、別にどうということはない。
で、エラーの原因は何だね?
>#define for if( false ) {} else for これってつまりあれか・・・スコープの有効範囲 for(int i = 0; i < count; ++i){ ... } ... i = 100; ... VC++だとこれが通るけど 通らなく(と思う)ようにしたいということで 上の定義してるんじゃないか?
>>520 >460が1行書く間に、シャリバンは200回赤射蒸着する。
>たいしたことないよ。
いっておくが、シャリバンは”蒸着”しないぞ。
つまり538は、541の例のような書き方をしていたということかな?
ギャバンか?
シャイだー
>>542 「赤射」蒸着と書いてあるのが読めないか?
>>545 謝意だーは、1msecで焼結完了
ギャバソの50倍の速さだ
548 :
仕様書無しさん :03/07/29 22:49
んじゃ間を取って、 「ギャイダー」ってことで。
シャバン
ギャイダー:悪そう シャバン:弱そう タリバン:古そう
ピップエレキバンってまだ売ってるかな
また懐かしいネタだな サンバルカン
レス遅くなってスマソ >#define for ... バグ回避か・・・聞いたことないが まぁ残しとくか。 >#define ef とりあえず 俺のほうではundefしとくよ。 for( int i=0; i<10; i++ ) { i = i; } i = i * i; って変数使いまわしきくから頻繁に使ってるよ。 エラーってのは コンパイルエラーね。 余談だが { for( int i=0; i<10; i++ ) i = i; } i = i * i; にしたら コンパイルエラーになったよ。 VC++6.0 SP3
>554 ループのカウンタでしかないものか、ループを抜けても意味を成すものかで 宣言方法を変えるほうがいいと思わない?
>>554 >余談だが
>{
>for( int i=0; i<10; i++ )
>i = i;
>}
>i = i * i;
>にしたら コンパイルエラーになったよ。 VC++6.0 SP3
当たり前だ。もし、そのコードが通るコンパイラを持っているのなら、教えてくれ。
買わないように気を付けるから。
それは違うだろ。 変数のスコープはループ内に限定されるんだから、 部分部分で扱う変数の数は変わらない。 てか、これは好み云々以前の常識だと思うんだがなぁ……。
まぁ、あれだ
スコープの概念のない
>>538 =554=557とは仕事したくない
>>557 なら、
int i;
for( i=0; i<10; i++ ) {
i = i;
}
i = i * i;
にしろや
563 :
仕様書無しさん :03/07/30 22:00
>>562 調べた
今って、G(ガウス)じゃなくて、mT(ミリテスラ)なんだな、
で、130mTなんで、1300Gだな
VC++の ループ変数ってバカだからスコープの外でもたしか有効になるんだよな。
全角で書く君がバカ
>>564 たしか規格制定中にスコープが変わったような記憶があるんだが。
コンパイラのバージョン上げたらいきなり通らなくなって焦った。
567 :
仕様書無しさん :03/07/31 00:37
>>564 つまり、JavaScriptは馬鹿馬鹿だと言いたい?
バカっていうなー。ググれば簡単に見つかると思うけど, for( int i=0; i<CUNT; ++i ) { if ( some_condition == SHOULD_BREAK ) break; /* gehehe... */ } if( i < CUNT ) { /* break した */ } else { /* break しなかた */ } と書きたかったのではと言われている・・MS の公式見解じゃないけどね。 ループ変数のスコープについての標準が定まったのは,結構最近の事。 metaware の昔のコンパイラはどうだった? High-C の事を覚えてるやし居ない?
あーもうタイミング悪ぃなー。
568の頭に
>>564 を補ってちょ。
で、結局
>>538 のエラーの原因はなんだったんだ?
>>554 のコードを見る限り、相当低レベルな部分で
エラーを出していたみたいなのは解るのだが。
あ、ここで言う「低レベル」は、そっちの意味ではなくて、あっちの意味。
COUNT の間違いだろうが、CUNT はやめとけ
countのことだったのか。ワラタ
>>570 どっからレベルの話になったんだ?
会話しずらいやつだな
>>564 /Za オプションを知らないお前がバカ
>574 ……実際に/Zaオプション使って通したことあるかい? VC6ではwindows.hが通らなくなるんだぞw
>576 VC6なんて古いの使ってるからじゃん。/Zc:forScope使え。 と言いたいが、まあ開発環境のバージョン上げられないってのはよくある話だね。
金がないからバージョンアプできない ヽ(`Д´)ノ まいったか /* 辞めよう。マジで */
Borland C++ 5.0(1996年くらい?)がデフォルトで新しい方のスコープになっててびっくり したことを思いだしました。C++の今の規格はそれよりずっと後だったような気がします がいつ頃だったか思いだせません。
>>579 それだ。BC4→5ではまったんだ。
最新のドラフトに準拠とか言ってたが、えらい迷惑だったよ。
∧_∧ ( ^^ )< ぬるぽ(^^)
∧_∧ ∧_∧ ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。 =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕 = ◎――――――◎ 山崎渉&ぼるじょあ
保守
nakadashi( void )
585 :
仕様書無しさん :03/08/06 19:51
baby nakadashi(long seishi) { return rand(seishi); }
>>585 ***エラー*** rand() ノヒキスウハ void デス
***エラー*** nakadashi ハ baby オブジェクトヲカエサナケレバイケマセン
babyがNULLだったら流(ry
いやむしろそのまえにSegmentation Fa(ry
やっぱ、宇宙刑事スレたてなきゃだめか。
#define SUCCESS 1 #define SUCCEED 0 #define SUCCEEDED(h) (h>=0) という状況をどうにかできないかなぁ…。
If minLimit <= InData <= maxLimit Then えーと、これが本番で稼動しているソースのですが、 どうした方がよろしいでしょうか?
>>591 見なかった事にするべきではないかと。
へたに触ったら何がおきるか…
>>590 一瞬、
#define FAILURE -1
#define SUCCESS 0
#define SUCCEEDED(h) (h>=0)
かと思って、普通の(MS的)ソースじゃない? と思った。
>>591 VB知らんのだが、それ意図どおり動くの?
全部素通りになりそうな気がするんだが。
maxLimitが0以上なら素通りだなあ
>591 ごめん、何がいかんのかよくわからん・・・ 解説キボン
Cで書くと if ((minLimit <= InData) && (InData <= maxLimit)) { となることを意図しているらしいが実際には if ((minLimit <= InData) <= maxLimit) { になるということか?
>>598 そういうことです。
Booleanと数値の比較で型が一致しないとか出してくれればよさそうなのだけど、
どんなときも強引に暗黙の型変換が働くのがVBです。
ごめん、俺Delphi使いなんだ
犯人はPython使いかも。
直前に On Error Goto 0 を加えておきましょう。 きっと表面化します。
VBネタなら・・・ 3年目(入社以来VB専門)の人のソースです。 Select Case LCase(Trim(Text1.BackColor)) Case "white" Case "red" 初めて見たときは、そりゃ笑いましたよ。笑ったさ。 でも・・・(((( ;゚Д゚)))ガクガクブルブル
VBは解説無いとわかんないよぉ(;´Д⊂
>604 それってちゃんと動きすらしないんじゃないの?
TextクラスのBackColorプロパティをoverroadしたんじゃねえの? C++厨がVBで犯しそうな間違いだな(w
>>604 BackColorって名前付の色を持ってるの?
>>609 もちろん、数字。
色の定数は定義されているがvbWhiteとかだしなぁ。
文字列で"white"とか"red"とかってどこから出てきたんだろう?
そもそもVBは文字列でcaseの条件が書けるのか?よく知らんのだが。
>>611 文字列でCase条件を書くことは出来る。
>>604 単体テストで気づかないかなぁ…普通。
確かに辞めたくなるな。(w
>>612 そう。出来るんだよねぇ。チョトうらやましくなった2003夏。
int roop; for(roop = 0; roop < MAX; roop ++){ ... _
そうだよなあ。 何が恥ずかしいって、英語で変数名つけたのに綴り間違えちゃった時だね。 明らかにtypoってわかってもらえるときならいいけど、この人勘違いって 思われちゃうやつあるからねえ。 それにしても、誰でも知っているループを間違えるのは論外だ!
∧,,∧ 変数名なら修正できるけど ミ,,゚Д゚彡 DBフィールド名で ミ つ旦)~~ 綴り間違うと、修正できなくって 〜と,,,~),,~) 恥ずかしさ倍増です
目の前にループになったロープがちらついて...
だからといって「変数名はローマ字読みで」ってのもどうかと。 そして更に、ローマ字の綴りすら間違うヤシが出現する罠。
メンテナンスコマンドの出力スペル間違えて客に指摘された。 死にたくなった。
linuxのコマンドか、そのオプションかでtypoが定着しているのがあったはず。 (何だったか思い出せない。結構大物だったと思う) それに比べれば、機械に読ませるのが目的であるソースコードでのtypoなんて 恥ずかしくも何とも無いね。
UNIXのシステムコール creatのことか?
>662 それだ。システムコールだったね。ありがと。 googleスペルチェッカにも突っ込まれるcreatタソ。
REFERER が REFERRER であることは HTTP/1.1 の RFC で突っ込まれてるわけで
>627 うむ。何せ C の開発者(カーニハンだったかリッチーだったかは忘れた)にインタビューで、 「もし C 言語を作りなおすとしたら、どこから手を入れます?」 って問いに、 「まず creat のスペルミスを直すね」 って答えた、って話があるからな(w
629 :
仕様書無しさん :03/08/10 13:12
そういや、 if (minLimit <= InData <= maxLimit) が意図したように動くように、InDataのクラスを定義する、っていう 話が、どっかで持ち上がってたなぁ
int ruupu; for ( ruupu = 0; ruupu < MAKKUSU; ruupu ++ ) { そんな開発絶対嫌。
>>631 631 03/08/10 13:32
int kurikaeshi;
for ( kurikaeshi = 0; kurikaeshi < SAIDAI; kurikaeshi ++ ) {
気が狂いそう…
ローマ字変数ってtypo誘発しそう
>625 もう10年以上前の本ですが、「Life with UNIX」(幻の邦題「UNIXだよ人生は!」)は そのころUNIXに携わっていた人で読んだことある人は多いんじゃないかな。 "creat"の話は「UNIX面白エピソード」コラムにあります。 私もついひさびさに本棚から引っ張り出して読みふけっちゃったよ。
みんな 変数++ なのか。 漏れはforループなんかでは必ず ++変数 ってやってんだけど
C++派なら for (C=0; C<count; C++) だな。
ツマンネ
++cの方が効率が良いとか何とか言ってたような気がするが、 どーでもいいや、もう、くせでc++って感じ〜〜
639 :
仕様書無しさん :03/08/11 00:40
++変数だな。 どっちでもいい状況なら、最適化がバカなコンパイラでも効率的 になる点で++変数のほうがなんとなく気分がいい。
俺の周りでは datas という綴りがまかり通っている。dataの複数形らしい。
>>640 これはコーディングルールでも従いたくない類だな。
>640 じゃあdatumはどう扱うんだろう。
datams だったりして
>>639 C++でオブジェクトが相手だと最適化は絶望なので、前置だな。
object++ すると、object のインクリメント前の値を覚えておいて、値返しにする必要がある。
++objectなら、インクリメント後の自分自身を参照返しすればいいから無駄がない。
EffectiveC++を読んで味噌>638, 639
あっ、MoreEffectiveC++かも
そんなことにアタマを使うより、せっかくだから俺は使い慣れたC++を使うぜ。
VBならそんな事で悩む必要ないぜw
まぁ、自分の周りにあわせるのが一番でしょ 同僚とか客先での可読性優先が一番かと というわけで、変数名++に一票 ++変数名を知らない香具師はいるかもしれないが 変数名++を知らない香具師はまぁいないだろうからなぁ
日本人なら、目的語+動詞だ。 i++ iをインクリメント ++i インクリメント iを
はぅぅ愛++
>>649 ++変数名 を知らない奴が同僚にいるなら、
確かに会社を辞めたくなるな……
for(VB=0; VB<10; ++VB) { ・・・ }
ごめん、++aとa++の違いわからないまま、約1年間プログラム書いてました。
>>654 この1年の間、周りで何人会社を辞めた?
>>654 それは効率面? それとも文法面?
文法面ならさすがにやばすぎる。
>>654 でもうちの職場では違いのわかる必要のあるソースに出会ったことないよ。
>>657 まあ、分かる必要があるケースは希なのかも知れないけど。
でも、それ分からないなら「Cは触ったことあるけどよく分かりません」
って言うんだぞ。「使えます」とか言うんでないよ。
>>654
そもそも、a=b++; を a=b; b++; と書いたり、a=++b; を b++; a=b; と書いて何か悪いのか? これで効率が変わる処理系でもあるの? 可読性を下げるプログラミングスタイルだと思うんだが。
int count = 0; while(条件) { }
間違い int count = 0; while(条件) { count++; System.out.println(count); } と while(条件) { System.out.println(++count); } なら後者を取るよ
>>659 * 古いコンパイラなら無いわけでもない。
* 携帯だのの場合今でもあるのかも知れない。
* 結局VCで開発するなら関係ない。
* ただし、
>>644 みたいのは今でもある。
* それで可読性が下がるとしたらチームのレベルが低いだけ。
そんなヤシらはC/C++/JAVAプログラマーとは呼べない。
* でも、現実にそんなチームはざらにある。
恥ずかしながら、漏れはC++しか知らんのだが、
javaでは、
>>661 のコードは、上下同じ結果になるのか?
(;´Д`)
ごめん、勘違い。忘れてくれ。 顔を赤らめ赤面して、 家へ帰って帰宅して、 仏の前の仏前で、 腹を切って切腹する。
単に無知なだけでなく
>>659 すら目に入らないという訳か。
>>666 だから勘違いだと言っておろうが!
それが馬から落ちて落馬した者に対してかける言葉か!
ツマンネ
>>668 ツマンネ
とはなんて物の言いぐさだ。
俺は古の昔の武士の侍だぞ
夏厨も暇なんですね
俺は断じて夏厨などではない!! 俺を笑うとは、貴様女の娘だな?
/////// ///////____________ ///////  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ̄ ̄ /////// (~) チリンチリン /////// ノ,, /////// ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ /////// ( ´∀`)( 厨 ) )) < 夏だなあ〜 /////// (つ へへ つ \______ /////// //△ ヽλ ) ) 旦 ////// l ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄l /////  ̄| .| ̄ ̄ ̄ ̄ ̄ ̄ ̄| .| ̄ //// ^^^ ^^^ 2chの夏。厨房の夏。
>662 ま、せっかく演算子が存在してるんだから、使って悪いことは無いな。 でも何でこんな演算子があるんだろー。 これで書くと激しくソースが短くなったり、意味的にすっきり(3項演算子なんかそうだね)したりする 場面も思い付かないし、自動的に判断させられない最適化場面も思い付かない・・・・・・ と思って実験(gcc3,javac)したら違うアセンブリコードになってしまたよ。アレ?何で?
あ、間違えてました。 gcc-3.2.3 -O4 では同じでした。するとやっぱ要らないような。
>667 >それが馬から落ちて落馬した者に対してかける言葉か! 可読性悪いコード書きそうw
>>677 漏れもわかってないけどいいや。つまらんそうだし。
>>678 ええーっ!!
めちゃくちゃ面白いのに〜〜
誰も知らんし つまらんし
「古の昔の武士の侍が、馬から落ちて落馬して、女の婦人に笑われて、腹掻き切って切腹」 冗長な文の代名詞でしょうが。一般常識の範囲だと思うけど。
だからつまらないんだろ。
?????
すまんがオレは未だに
>>663 と同じ疑問が解決しないのだが。
>>661 の下のコードは
int count = 0;
は省略してあるだけなんだよねえ?
(゚听)ツマンネ
もし本気で言ってるんだとしたら、そんなのがいる会社になんか入りたくねえなあ
>>683 int count=0; は省略してあるだけで間違いない。
C++でもjavaでもいいから上と下のコードの
脳内実行結果を書いてみろ
俺はもう謝ったからな!!
あわてん坊と無教養がくだを巻くスレはここですか?
どっちもツマンネ
誰か教えてくれたかと思って新着チェックしたらつまんない言葉遊びで(´・ω・`)ショボーン 結局++は何のためにある演算子なんですか? 仮説1:最適化できないバカなコンパイラで有利 i386の場合、アセンブリコードを見てもそんな気はしない。 むしろインクリメント機能だけで、voidを返す仕様の方が最適化無しのとき有利なんじゃなかろうか。 CPUによっては意味があるのか? 仮説2:変数の登場回数が減るから、長い変数名を使っても楽できる そんなこと気にする言語ならC++でJavaScriptみたいにwithが使えるようにしそうだし。 それに、オートコンプリートやコピペの普及した現在においては説得力を欠く。 仮説3:これで可読性が落ちるとか言い出すかどうかでで、プログラミング能力を推定できる まさかこんな理由じゃないよね。
プププ
>>693 例えば++使わない場合のソースってどうに書くつもり?
今実験した結果、gcc -O0(最適化オフ)では、 *p=*q; *p++; の方が *p++=*q; より短いアセンブリコードを吐くことが判明。>693仮説1ますますピンチ。 >695 上記の例のように、a=b++; とか、 *p++ = *q;とかを、 インクリメントだけの行と代入だけの行に分離するつもり。 「意味的にひとつの単位であるものを一つの関数に」するのと同じ気分で、 一つの行に二つの意味を入れるのはどーなんだ?と。 >661みたいな例で、インクリメントは止めたくないけどメソッド呼出しだけ コメントアウトしたい場合もあるだろうし。
>>696 >>693 で「結局++は何のためにある演算子なんですか?」って言ってるから
++演算子を一切使わないのかと思ったら使ってるじゃん
あ、すまそ。普通に間違えました。
699 :
仕様書無しさん :03/08/14 07:22
>693 68kだと b=++a;とかb=a++;とかb++=a;とかとか・・・ は、一つの命令になるよ たまに *a++=*b++; みたいなコードは、自分で書いても頭が痛くなる。
あ、ひょっとしてJavaのコードじゃなくてスレの流れを勘違いしてたみたい。
同じ意味になるからこそ、どっちの書き方するかって言ってたのね…
>>692 そんな30分も経たないうちに言われても
>>681 わかっているからこそのレスだったんだけど・・・
曖昧な解釈のできるコードは美しくない。
>>696 Cができたのは1970年代の頭。
リソースが少なく、ワンパスコンパイラが好まれた。
最適化なしではなく、簡単な最適化しかかけられない。
*p = (*q + a) + (b + c); q++; よりも
*p = (*q++ + a) + (b + c); の方がqがレジスタに
割り当てられている間に++を処理できる可能性が高い。
とかいう話があるのではなかろうか。
>699 >702 なるほど、なるほど。納得です。ありがとうございます。 こうやってみると、今は効果は無さそう(最適化、クロスコンパイルで対処できそう)ですが。 とりあえず自分はそういう使いかたはしないことにしますが、 定型句・習慣として今後も使われるんでしょうね。
>>702 Cは前方参照許してるから普通2passだろう。
最適化ゆるいのは、リソースの制限だけじゃなくて、
そっち方面の研究が進んでなかったってのもあると思うし。
で、++/--の存在理由は、PDPにそういう命令があったから、
(かつ、普通に計算するより早い)と言う話だったと思う。
ワンパスといってみただけちゃうんかと
間違い ワンパスといってみたかっただけちゃうんかと
>>703 最適化はともかく、どうしてクロスコンパイルで対処できるんだ
(クロスコンパイルということばの意味が変わったのならともかく)
しかし、TturboCは1パスだった。
問1.クロスコンパイラという言葉の意味を記述せよ。
そろそろ名無しに戻ります(と名乗ってみる)。 >704 最適化の研究と言っても、書く側がアーキテクチャ知ってればすむようなことを 適当に入れるのは気がひけたんでしょうね。 >707 >662、>702の意見を踏まえてのレスです。 昔、ハイエンドCPUさえも遅くリソースが少なかった時代は1パスにせざるおえなかったと思うが、 今なら携帯だろうが何だろうが、豊富なリソースの元でクロスコンパイルして遠慮なく最適化すればよろしいかと。
ゲーム作ってた会社なんだけどさ。 画面描画するときにちらつかないように、 バッファに1回描画しといてから画面に表示するんだけど…。 チップとかを指定の位置に描画してくれっていう仕事がきたからやったわけさ。 んで、動作確認して渡したのにさ、どうも指示通り動かないとか言ってくるから おかしいと思ってしらべてたら、 漏れが描画したバッファを一回クリアして、別の表示のバッファとして使って、 その後で漏れが描画した画像として描画しようとしてやがった。 1.漏れがバッファに描画。 2.呼び出し元が別の作業のバッファとして使用。 3.1で用意した内容を表示しようとする。 4.1のバッファに2の作業でのゴミが載っている 5.漏れに文句。 もう死ねよ。
↑ソースコードは? ていうか、君短期だね。一般のソフトウェアやハードウェアの会社じゃ 1日で辞めたくなるだろうね。
短気、、だった。鬱だ・・・・711よ一緒に氏のう
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
短期は損機
タンキマタンキ
去年の今頃の話。Unix用のC++のコードを保守してた。 class ShainInfo { const char* name; public: inline ShainInfo( const char* newName ) : name( newName ) {} }; こんなコードがあったんで、 「ShainInfo::nameの指すオブジェクトの寿命を、ShainInfoと合わせられるようにしてね」 ってお願いしたんだ。 そして2時間後。こんなん↓が出てきた。 class ShainInfo { char* name; public: inline ShainInfo( const char* newName ) { name = new char; strncpy( name, newName, strlen(newName)+1 ); } }; nameは1文字じゃ足りないし、strncpyの第3パラメータが意味不明だったから、 だめ出ししたら、こう↓なった。 class ShainInfo { char* name; public: inline ShainInfo( const char* newName ) { name = new char[ MAX_NAME_LEN ]; name = (char*)newName; } }; 「std::string使う?」って聞いたら「ああ、CStringってやつですか?」と返ってきた。
↑これ、かきわすれたけど、 派遣の人とのやりとりです。
ShainInfo::nameの指すオブジェクトの寿命が社員の寿命になるという呪い
ShainInfoとかいう日本語と英語が混じったクラス名自体にDQNの香りがする
722 :
仕様書無しさん :03/08/30 09:53
>>721 そういうのはザラにあるな。
// 論理削除フラグ
RonriDeleteFlag
// 値
"Yukou" // 有効
"Mukou" // 無効
"E9999" // エラー
もうね、いっそJavaで漢字使って書けと。
724 :
仕様書無しさん :03/08/30 10:08
業務で使うような用語って英語にできない場合が多いから、 どうしても英語と日本語のちゃんぽんになってしまう。
Uwariteに勝てる関数名などない。
#ifdef _JAPANESE_ int RonriSakujoFlg; #else int LogicalDeleteFlg; #endif
Flgは日本語なの…?
#ifdef _JAPANESE_ int RonriSakujoHata; #else int LogicalDeleteFlg; #endif
>>727 ,729
そこまで書くなら Flg も Flag にしてやれよ
そうだintもintegerにね
#ifdefも #if defined に
_JAPANESE_も_NIHONGO_で
intはseisuuで
って言うか、Hataは無いだろう。 Hanteiとか、 Sikibetuにならないか?
辞めたい・・・
>>731 , 734
型エラーですね
でもtypedefや#defineで強引に...
#moshi teigizumi _NIHONGO_
seisuu RonriSakujoHantei;
#jyanakutte
int LogicalDeleteFlag;
#owarizonamoshi
MINDや「ひまわり」ってこんなの?
Javaなら int 論理削除判定; とかできるのにね。
MINDぉぉ
740 :
仕様書無しさん :03/09/10 20:32
char*の配列に固定長でMALLOCを使いメモリを確保しようとしていた。 何と言っていいのか言葉に詰まってしまった。 しかも MALLOC(sizeof(char*)) で確保しようとしていて、うまくいかずに悩んでいた。 あのね、もう(ry
741 :
仕様書無しさん :03/09/10 21:26
(ry房ウザイ
743 :
仕様書無しさん :03/09/10 21:37
int CUtility::OutPutStringToConsole( const char *ref ) { printf( "%s\n", ref ); } FILE *CUtility::OpenReadOnlyFile( const char *ref ) { return fopen( ref , "r" ); } int CUtility::CloseReadOnlyFile( FILE *ref ) { return fclose( ref ); } FILE *CUtility::OpenReadOnlyTextFile( const char *ref ) { return fopen( ref , "rt" ); } 以下標準ライブラリのラッパー(????)が延々 すいません、ユティリティーって便利だからユティリティーなんですよね? 全然便利じゃないのは気のせいですか?
関数の引数の順番を覚えられない奴なんじゃない?
CloseWriteOnlyFile() も有るのか?
if(strlen(aaa)<0){
>>746 で、そのif文の中には何が? ドキドキ
}
749 :
仕様書無しさん :03/09/13 00:00
C++のほうが簡単だし実用的で良いな メモリなんか自分で管理すれば良いことだし。 Javaはどうもめんどくさい。
>>746 プロトタイプがないのか?
あればコンパイラが何か言ってくるはずだが。
それともネタ?
>>751 gccで試したら何の警告もなく通ったよぉ。
スマソ。
>>749 まじ!? Javaおぼえちゃったら、GCないと
「それくらいお前がやってくれよー」の連発なんだが。
Javaに関しては、
最初:「あれもダメ、これもダメ、がたがたうるせーよ、好きにさせろゴルァ」
:
:
中期:「あれ、なんかいいカモ」
:
:
覚醒:「先生、オレが間違ってたよ、あの時ダメダメいってくれてありがとう、うわーん」
今となっては、Java以外書きたくないとまで言い切るオレがいる(w
>>750 strlen が負の値を返すのは…?
>>755 GC は Boehm GC あるし、メモリ管理を半自動化してくれるスマートポインタもある。
「GC しかない」Java よりは C++ の方がいいなぁ、俺は。
う〜ん。size_t が signed な処理系ってあるの?
>>757 size_t は無符号汎整数型だったと思う。
760 :
仕様書無しさん :03/09/14 03:11
size_tなんか実際、必要ない。 intでいいよ。別に。
1クラス6000ステップ。 1メソッド2500ステップ。 自分が見た過去最長のコード…。 言語はJava。オブジェクト指向のオの字でも知ってたらこんなに長く なるはずはないのだが。
>>761 普通だね。
長い関数の報告ってだいたい6000〜7000行だよな。
もっと30000行の関数を見たとか凄い奴はいないのかな?
関数ではなくメソッドの話です
メソッドを関数で実装しない人がいるのか?
だけどわけりゃいいってもんじゃないだろって細切れのソース見るよりましだったりする。
>>762 普通だなんて言う貴方の神経は普通ではない。
>>767 ちがうよ。このスレに出てくる長さとしては普通だっていったんだ。
>766 あんたも苦労してるんだね・・・
友人が残していったコードを見て爆笑してる奴がいたので覗いてみた。 hogehoge(/*・∀・*/); …違うグループで良かった。
>770 一括置換かけたくなってきた
>>771 勿論、
s/\(\)/\(\/\*・∀・\*\/\)/g;
ですよね。
>>770 2ch の様式美を外に持ち出さないで欲しい。
TPO をわきまえて欲しい。
>>772 %s
1クラス6000ステップってまずいの? 1メソッド2500ステップはどう考えてもまずいだろうけど。
>>773 JUnitのテスト用データが2chAAとかの山って、やっぱりダメですか?
>>776 「人に見せないしー」とか思ってても、どこかで見られてる罠。
>775 設計ミスの可能性がありそう。
>>777 たぶん、来週半ばに後任の人に引き継ぐんだけど、
なおしてる余裕無いんだよなぁ…。(w
>>775 どっちでもいいよもう。(;;´Д`)
>>776 納品しないソースなら好きにすればいいんじゃないの。
>>778 俺の人生そのものが設計ミスの塊だよ。
781 :
仕様書無しさん :03/09/18 00:42
SQL 1500行 とかいうのはどうだ
S E L E C T * F R O M このノリならすぐに千行突破!!
つか、普通に書いて1500行ってどんなSQLなんだろう。 カラムが200列くらいあったり。
携帯で見たんじゃねーのか?
コメント30行 コード3250行 解析死んだよ
>>785 コメント30行もあったのか。
いいじゃないか。
787 :
仕様書無しさん :03/09/20 21:24
>>783 1500行には全然及ばないけど、丁度目の前に800行のSQLがあるよ。。。
case文で山のようだ。。。作ったやつ誰だよ。。。
別のSQLでは、使ってるテーブルの列が400越えててAccessで開けないし、、、
DB設計したやつ誰だよ。。。自分は手伝いだからいいけど。笑
789 :
仕様書無しさん :03/09/21 02:50
966 名前:仕様書無しさん[sage] 投稿日:03/09/20 22:50 スレタイとしては、ビミョーに違うんだけどな。 派遣先で渡されたソース見て気絶しそうになっても、派遣もとの会社を辞めようとは思わないからなぁ。 あと、プログラムコンテスト等の作品のソース見て気絶しそうになるとかね。 あっちは「会社辞める」が強調されてて、「悲惨なソース」というのが隠蔽されてるんだよなぁ。 前スレでこんな意見が出てたので 次スレを立てる時はもっと窓口を広くしたスレタイにしたほうが良いと思われます。
790 :
仕様書無しさん :03/09/24 20:56
こういうのを「スレストッパー」というのかな?
言うだろうなあ。 あと窓口は間口の方が良いと思うがどうか。
あの……80年代前後の古いCOBOLをご存じの方に質問なのですが、 DBから特定条件のn行を抽出する、という作業をする際、DBテーブルの 開始行から最終行まで全部送りながら確認していくと言う手法(SQLサーバで 言えば、"SELECT * FROM xx"とやって、1レコードずつ読んで条件確認する) というのは常識なんでしょうか? 古いCOBOLしか知らない人に「SQLサーバ使ってるなら、SQL文の時点で 抽出した方が速いですよ」と進言したのに、「そんなマネ出来るか」と 突っぱねられたので……
>>792 DB使えるのに何故そんな茨の道を逝こうとする
>>793 む。茨の道とは?
(1)SQL一発で済むところをわざわざロジックで数えること
(2)古いCOBOL使いにSQLサーバーを使わせること
(3)古いCOBOL使いに新しいやり方を進言すること
(3)が一番大変そうだ。
そういうのはどうやって納得させればいいんだろうね、ほんと。
実際やってみせてもダメなんだろうか?
俺は(1)のつもりで言ったんだが 確かにどれも茨の道だな
>>792 80年代のCOBOLだとそうなるかもねぇ。
てか、そのJOBの入力ファイル自体が既に抽出済みのデータセットに
なるよう設計すると思うし、JOBの中でワザワザ抽出するような汎用性
の低い設計にはしないでしょう。汎用とか独特のJOB設計だね。
で、そういう設計になってないシステムなら論外。
ジョブをJOB、ファイルをFILE等と書くとなんかヴィンテージ感(?)が出ると思わない?
>>792 別にCOBOLに依存する話じゃないけど、汎用機のネットワークDBなら当たり前の処理。
(IのDB2とか、NのADBSとかね)
(SQLの無い)ネットワークDBでは、1つ1つのノードのアクセス、抽出のロジック(ループ)をユーザーが書く必要があるからね。
それってまるでXMLだな
IのDB2はRDBだろというつっこみはありでつか。
801 :
仕様書無しさん :03/09/28 18:36
>>800 さらにつっこめば、DB2でもOracleでもSQLServerでも、
SELECTで条件切るより総なめの方が早い場合もある。
(検索条件項目にインデックスはっててもね)
オープン系とホスト系を比べると、DBアクセスの効率化に
ついてはホスト系の方が断然うるさいので、そこまで考える
必要がある(場合もある)。
件数やクライアント数が全然違うので当然だが。
>792の聞きたいことには関係ないね。ごめん。
オープン系とかホスト系とかって何?
日中、窓口から入力される作業と、 深夜1時にそれら数百万件を処理するバッチで求められるものは異なる
>>801 >さらにつっこめば、DB2でもOracleでもSQLServerでも、
>SELECTで条件切るより総なめの方が早い場合もある。
どゆ場合でつか?
>さらにつっこめば、DB2でもOracleでもSQLServerでも、 >SELECTで条件切るより総なめの方が早い場合もある。 何年前のデータベースよ。んなわけねーだろ(AA略
>>801 いえ、他の人の話も含めて、だいたい分かりました……
ある意味間違いではないが過去の話、と言う感じ、なんでしょう。
varcharで取られてる文字列と、string型(VB)を "="で比較、なんて
やってましたし……
ちなみに、テスト目的でちゃんとselectかけるようにして試したら、
同じテストで処理通過速度が約300倍になりました。
>>804 >>805 この反応はちょっと驚いた。
実行計画とかとってみ。
INDEXはってたって全表走査されるときがあるよ。
一番ありがちなのは、レコード数が多くないマスターなんかに良く使われるテーブル。
こういうときにはINDEXはわざわざはらない。
>>802 オープン系=UNIX、Windows
ホスト系=メインフレーム
って感じ。
iSeriesはどっち?
>>809 AS/400だったやつ?
あえて入れるんならホスト系だろうけど、どっちも違う気がするなぁ。
811 :
仕様書無しさん :03/10/01 06:50
>>809 IBMのサーバーだよね?
オープン系:ホスト系って、俺はアーキテクチャや仕様が
公開されているか非公開かで切り分けている。
そーゆー意味では、オープン系に入るんかな?
ホスト系って、ツールのマニュアルすらダウンロード
させてくれないのが多いので、ちょっと腹立つ。
IBMは一部マニュアルだけオンラインで公開してるけど、
全然足りないのだ。
>>807 SQLを使ってデータベースを使う意味を根本的に理解していないね。
>>812 いや、彼の言っていることも間違いではない。
インデックスの更新コストと、データの使われ方によっては、端から全件走査を前提にする場合もある。
但し、そのようなデータがRDB管理対象として向いているかは別問題。
ホスト系のバッチ業務とか、そもそもRDBによる管理が適さないデータもある。
というか、最初の設計する人がカード型DB脳の人だったりと・・・。(以下愚痴は略)
> 但し、そのようなデータがRDB管理対象として向いているかは別問題。 これが全てだろ。 使いドコロが違うものを持ってきて、 「INDEX なんか張っても遅いですね(^Д^)」 なんて阿呆丸出しもイイトコロだ。こんなだから(以下愚痴
>>811 汎用機のマニュアルが欲しければ会社で買いましょう。
買うだけの価値はあるし、それで飯食うなら当然。
Nとかはオンラインマニュアルも売ってる。
816 :
仕様書無しさん :03/10/01 21:30
>>815 会社がメインフレームもってりゃ別だが、
普通マニュアルは「ユーザー」しか買えないのだが。。。
817 :
仕様書無しさん :03/10/01 21:32
818 :
仕様書無しさん :03/10/01 22:29
> SELECTで条件切るより総なめの方が早い場合もある。 この文章にみんな反応してるんだと思うよ。 普通「SELECTで条件切る」なんて言い回ししないから、君の言ってることを みんな理解できないんだよ。
>>807 少なくともOracleに関しては間違い。
>>819 Selectで条件していしてQueryするのではなく、条件なしでSelectしてFetchし、
クライアントコードで処理するという意味では?
>805 三年ほど前だったかな。DB2/400 に対して Delphi 3/400 使ってアクセスしてた時、 TQuery 使うより TTable(全件取得してクライアント側でフィルタリング)の方が明 らかに速かったことがあったよ。 Query 解析して実態の ISAM から引きずり出して加工して、を全部ホストで処理さ せるより速かった、ってことなんだろうけどね。 (むろん、引っ張ってくるデータの総量にもよるんだが)
なんだDel厨か(藁
824 :
仕様書無しさん :03/10/02 00:41
オフコン
上司が亜無WAYで、こまってます。 ://home.intercity.or.jp/users/ytera/ueno/mypro.html プログラム覚える前に、やめそうです。
>>816 マニュアルが必要なのに、買うことも出来ないってどんな利用者だよ?
マシンなんか持って無くても、金出せばメーカーからマニュアルくらい買えますが、なにか?
買えないものもあるのだ。
>>827 売ってさえくれないものをダウンロードさせろとは無理なはなし
>>826 ハードとか保守結んでいないと、情報もらえない物なんていっぱいあるよ。
パソコンとかの桁じゃないんだからさ。(数百万からのものとか)
831 :
仕様書無しさん :03/10/03 16:48
ソースじゃないけど。 交通事故でむち打ちになったって奴の仕事を引き継いだ。 Cは知っているがC++(VC)は初めてって奴が、納期直前に 事故ったらしい。残り3日でバグを3つ潰せと言われた。 仕様書は無し。バグ内容は口頭説明。 ・1個は凡ミス。 ・2個目はプログラムの一部が無駄にコメントアウトされていた。 ・3個目は機能そのものが書かれていなかった。 俺が辞める前にむち打ちが辞めていった。話を聞いたら3ヶ月の間に 2回、交通事故でむち打ちになったと言って会社に来なくなってるらしい。 出来ない仕事でプレッシャーだったんだろうな。 白旗は、早めに揚げよう、プログラマー。
832 :
仕様書無しさん :03/10/03 16:53
俺も辞めたい 前の会社に戻れるなら戻りたい 給料安くてもしっかり設計、製作できる前の会社がよかった・・・ いまのところはアホみたいな内容でボリュームばっかりある仕事ばかりだ 鬱蛇
ごめん、スレ違いでageてしまった 俺が引き継いだプロジェクトで元は 別支社の新人PGが書いたVBScrit(ASP)のソース If Rs.EOF = True Then Else 処理・・・ End If これがたくさんある。Not Rs.EOF じゃいかんのか こいつのソース、グローバルスコープの変数とローカルスコープの変数が 当たり前のように入り乱れて使われている。 こんなこと、初心者向けプログラミングの本には冒頭でまず触れられてそうなのに If で散々ネストして最終的に全部条件に該当しなかったら何もしないとか 途中で関数抜ければこんなにネストして見難いソースにならないだろうに、とか 言いたいことはたくさんあるけど顔すら合わせたことがない
>>833 ちゃちゃだけど、途中で関数を抜けるのはGOTO書くのと同じだよ。
goto使うのに何の問題が?
>>835 関数分割すれば、そんな抜け方しなくても大丈夫じゃん。
まあ、それができない状況が当たり前なのであまり言わんけど。
>>834 本当に?そしたら画面のデータチェック関数なんて
データ項目分ネストしちゃわない?
if(txfA.getText()==null || txfA.getText().length() < 1){
エラー処理
}
else{
if(txfB.getText()==null || txfB.getText().length() < 1){
エラー処理
}
else{
if(txfC...
}
}
って
>>837 それってElseIfでいいんじゃないの?
関数の抜けが複数ある場合、後処理忘れの元になるから、日頃からやらないようにするぐらい。
>>836 どんなに関数分割しても、問題は一緒だと思うけど。
あ、ElseIf 。。。全然使わない(汗 後処理か。。。tryでくくってfinaly内で片付けるか 関数内でやらずに呼び出し元でできるように作れば一回でいいし。 どうしてもってときは抜ける処理毎に書いちゃうな。 コードが長くなるけど。
>>838 まとめて後処理をしようとすると泥沼になることが多いと思う。
またgoto要不要論が始まった〜〜 飽きねえ香具師らだなあ。 と茶々煎れ
844 :
仕様書無しさん :03/10/03 20:00
gotoつかってもいいと思うけど、基本的に小さく単純に作ればいいだけなんだよね。 はまってる奴って、自分の理解できないほど大きく複雑なコード書く才能はあるよね。
は?breakとかcontinue使うなってこと? そんなもん時と場合によるだろ?
!#/usr/bin/perl こんなソースが某スレで書かれていた...
847 :
K仲川(^^)g :03/10/03 23:30
うんこうんこ
>>837 > if(txfA.getText()==null || txfA.getText().length() < 1){
833がVBScriptだから突っ込みたくなるが、
VBでは期待通りに動かないと思われ。
>848 VBScriptでもVBでも If .... Then じゃないのか? 最新のは違うんだろうか......
>>849 VBは(A or B)の時、AとB両方チェックする
(AがtrueならBの判定はしない、というわけではない)
・・・だったような
だから
>>843 ではtxfA.getText()がnullの場合、txfA.getText().length() < 1はぬるぽになって落ちる
( if(txfA.getText()==null | txfA.getText().length() < 1) と同じ)
でもVBにぬるぽってあったっけ?
>850 ショートカットはしない。先の条件が成立しても必ず後の条件も評価しちまう、ってことだろ? ぬるぽがあるのはあるが、Variantの取りうる値のひとつじゃなかったけか? オブジェクトに 明示的にNothingをセットすることはできるが。
==NULL ではなく、IsNothing、IsNullだな。
If xxx Is Nothing Then 'Is演算子 If IsNull(xxx) Then 'IsNull関数
>>851 あるかどうか聞いているのは、NullではなくてNullPointerException(に相当するエラー)なんだけど。
>>854 Nothingな変数のメソッドを呼ぼうとするとふつうにエラーになるが?
>ぬるぽがあるのはあるが、Variantの取りうる値のひとつじゃなかったけか? ぬるぽ=nullと勘違いしている悪寒
Javaはポインタを意識させない言語構造のはずなのに 何でぬるぽなんですか?
意識させないだけでぬるぽが存在しないわけじゃないだろ、ばーか
>>858 Null「Pointer」Exceptionって名前を付けたのは何かの当てつけですか?
ポインタは指し示すものという意味であり 別にプログラム専門の用語ではない。 a.b と書いた場合 a は b へのポインタということができる。 NullPointerException とは b へのポインタとしての a が null であるという例外である。
nullというのは参照値だけど、その参照値が入っている参照変数のことを別名ポインタと言ってみろ。それで薔薇色。
参照変数とポインタは違うが・・・
ヌルというのは縫流という意味であり、 なんというか、その、つま
民明書房刊
知能指数は1300ですが、なにか?
ルチ将軍キター━━━(゚∀゚)━( ゚∀)━( ゚)━( )━( )━(。 )━(∀。)━(゚∀。)━━━!!!!!
かなーり大きいソースコードを開く… とりあえず create procedure AAA_SOSIN その約700行下のほうに create procedure AAA_JUSIN これでもスクロールバーが1/10にもいかないのでとりあえず % grep create\ procedure sourcefilename [CR] create procedure AAA_SOSIN create procedure AAA_JUSIN create procedure AAA_SEND create procedure AAA_RECV create procedure AAA_SOSIN2 create procedure AAA_JUSIN2 create procedure AAA_SOSIN7 create procedure AAA_JUSIN7 create procedure AAA_SEND_BETA create procedure AAA_RECV_BETA (以下続く) …、まぁ好きにしておくれ
以前、引き継いだプロジェクトでの事。 VisualCのプログラムだったんだけど、とりあえずソースをコピーしてきてコンパイルしたんです。 そうしたら、ワーニングとエラーが大量に出て、これは一体?と思って上司に聞くと、 「あ、それリリース版コンパイル通らないから」 って言われますた。 納品CDを見てみると、実行ファイルの他に、デバッグ版のDLLが一杯・・・ ・・・おいおい、デバッグ版で納品かよ(゚Д゚)ゴルァ! VCのプロジェクトの設定を見直して、リリース版でコンパイルしたら、実行直後にメモリぶっ壊してアプリケーションエラー!! ちなみに、コンパイルが通ると言われたデバッグ版でも、しょーもないワーニングが腐るほど出ました。 こんな会社は逝ってよしですか? それとも、辞めずにまだ居る私が逝ってよしですか?(;´Д`)
全角アルファベット…
とりあえずVC言いたいだけちゃうんかと
ビタミンC
ヴェンチャーキャピタル
877 :
仕様書無しさん :03/10/10 07:54
#ifdef 0 1000行ほど #else 一時間ちかく 関係ないとこを追っかけてしまったじゃないか
>>877 それは、藻前がおっちょこちょい。
大体エラーじゃないのかと
渡されたCソースのコメント各所に顔文字が...先行き不安。
for ( ;_; ) みたいなやつか?
コメントじゃないじゃん
亀レスだが、
>>837 データチェックの類は、複数個のエラーを検出したら複数個を返さなきゃならん。
それに、そういう単純なコードはInterpreter書いて宣言的にプログラムするもんだ。
>872 オレそれ、ユーザー側で経験ある 直接の担当の機械(機械の制御用ソフト)じゃなかったが、問題が起きて 参照DLL調べたらMFCのデバッグ版のDLLごろごろ 「ライセンス違反じゃない?」って言ったら 直したよう。その後、担当者に聞いたらよく落ちるようになったらしい ソッコーでそのメーカの装置買わないように通達出したよ
#ifdef 0 がどうとかいう話はともかくとして、俺は張り切って読んだ他人のソースがどう考えても
動作と合わないんで何度も何度も何度も読みかえした挙句、実はMakefileのどこにも書かれて
ないやつだということに翌日気がついたことがあった。
>>877
#ifdef 0 1000行ほど /* 1000行ほど #else 5000行ほど */ 1000行ほど #else
どんなショボエディタ使ってたんだ?
>884 あるある! それ漏れも経験ある(;_;)
ぞろ目かな?
#ifdef 0 ってなんだよ #if 0 のこと?
昭和を知らない子供が嫌い 仕事をなくした大人が嫌い 優しい幼女が好き バイバイ キユ
おまいは人間関係に気を使え!
デスマーチでつきぬけろ!
>>891 キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
釣るならメル欄に言い訳など書くなよ
>>897 今はあえてメル欄無視してつられるのがツウ
メル欄なんてまるみえなのにあえて書く奴を笑うべし
昭和を知らない子供が嫌い 休みをくれない大人が嫌い 優しい仕事が好き バイバイ キユ
うろ覚えなんだけど、 int a,b ; double c ; // 〜中略〜 char buf[100] ; char *str="Data1 = %%d.%df\n" ; sprintf( buf, str, a, b ) ; fprintf( buf, c ) ; てな感じで可変長でprintfをするというソースがあった。 こんなソースを書く漏れはもう駄目ですか_| ̄|○
>>900 代替手段はどうやるべきだろ?
マ板の話題じゃないかもしれないけど
なんで * をつかわんのじゃ?
>>900 FILE *fp;
char buf[100] ;
char *str="Data1 = %%%d.%df\n" ;
sprintf( buf, str, a, b ) ;
fprintf( fp, buf, c ) ;
906 :
仕様書無しさん :03/10/12 00:13
903が無視されてるから、あえて書き込むけど "%*d"とかって知ってる?
アナルにdekatinの入る確率
>>908 何の代入を抑制するんですか?
問題の意味分かってますか?
>>910 抑制するのはdekatinのはやる気持ち
>>910 抑制?なにいってんの?
fprintf(fp, "Data1=%*.*f\n", a, b, c);
で済む話だろ
>>916 妙に素直なヤツだな。ちょっと気に入った。
910=916=917
予想通りの展開に萎え〜。 すぐに自演を疑うんだなぁ。
920=空気読めない香具師
何かとすぐに空気空気
何かとすぐに嫁嫁
そんなおいらは嫁がほしい
俺漏れも
私は娘がほしぃぞぉぉぉぉぉーーーーー
ネタスレ化してる・・・(;´Д`)
マ板はネタ板。
マ板はマナ板
まな板娘(;´Д`)ハァハァ
>>932 の手によってマ板発の萌えキャラ「まな板娘」誕生!
白板娘?
>>まな板娘 絵を激しくキボンヌ!
え、まな板娘って貧乳のコのことだとばかり(;´Д`)
ほ〜、ここが2ch語「まな板娘」発祥のスレですか ログ永久保存しとかんとな
はやるかなぁ
電気グルーヴのメカニカル娘を ちょっとだけ思い出した
ぅぉぉ。すんげぇ勘違いしちまった。まな板=ぺったんこか。 てっきり 「まな板の上で、そここそ"まな板の鯉"状態で、 これから"料理"される事に対してガクガクブルブルしてる小さなおにゃのこ」 をイメージしちまったぜ…… いろんな意味でダメぽ…オレ…=■●_
>>941 > 「まな板の上で、そここそ"まな板の鯉"状態で、
> これから"料理"される事に対してガクガクブルブルしてる小さなおにゃのこ」
ソレダ!
俺も「まな板の鯉」状態で寝転がってるおにゃのこ想像しちまった
これも全て休出のせいだ
帰りてー
っていうか
>>932 の真意はどっちだったわけ
半虹の絵師に頼んでみたらどっち書いてくれるかな
つるぺた娘がまな板の上でころんと丸くなってたらいいじゃん
何、この展開・・・(;´Д`)
(;´Д`)ハァハァ
スレタイとの乖離ぶりにワラタ
まな板娘ハァハァ
>945 つるぺた女体盛り
まな板娘萌え〜
次スレ立ってたのか_| ̄|○
次スレリンク希望
>>956 関連スレかもしれないけど次スレじゃないよね。
そっちはそっちでずっと続いてきてるし。
次スレ立てようか?きり番でも何でもないけど、950過ぎてるし。
>>957 一応ここが950過ぎてから立ってる
けど、ここにリンク貼るのがあまりにも遅かったな
# このスレ この会社辞めようと思った*ソースコード*#B # 956 のスレ この会社辞めようと思った*上司の一言*#C なもんで、違うスレなんだけどなぁ… ちなみに、私的にはこのスレの次スレをサクッと立てて、 スレの内容を復活させたほうがいいと思うに 9bit。 ついでに、スレの埋め立ては、まな板娘で。
まな板娘
>>960 スマソ、大きな勘違いをしていたようだ
誰か次スレ立ててね
950が立てるのが筋だが、それがだめなら960 960も立てられないなら970ってキリ番でたらい回しにするのが一応のルールなり。
まな板娘
よーし、それじゃぁ パパが次スレ立ててきちゃうぞ〜
まな板娘ハァハァ
まな板娘[まないた・むすめ]
マ板における幾多の妄想の産物キャラのうちの一人。
このスレの >>932- を参照。
転機となる一言は
>>945 参照。
キャラ的には萌える要素満載だが、未だに絵はない。
というわけで画像キボンヌ
まな板娘・・・・ 今日のところの俺的イメージは、bpsとかいうアニメに出てくる 美砂緒ちゃんだな・・・まうまう
埋めようや
ぬ
る
ぽ
ガ
ッ
ツ
石
原
都
こ
ん
ぷ
り
大
根
お
ろ
し
に
さ
梅
さ
わけのわからんことになった( ;´Д`)
あ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。