[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 05/09 20:03 / Filesize : 140 KB / Number-of Response : 601
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

七行プログラミング part5



1 名前:デフォルトの名無しさん mailto:sage [2006/03/16(木) 09:02:39 ]
7行×79文字なら言語は問いません。
過去作品は、もしかしたら>>2-20あたりに。

前スレ
pc8.2ch.net/test/read.cgi/tech/1051703369/
part 3
pc2.2ch.net/tech/kako/1033/10331/1033143528.html
part 2
pc3.2ch.net/tech/kako/1018/10188/1018840143.html
part 1
pc.2ch.net/tech/kako/984/984182993.html


296 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 02:59:21 ]
/dev/dspってすげーな。

> cat /cygdrive/c/WINDOWS/Media/tada.wav > /dev/dsp

普通にwav鳴らせるんだ・・・

297 名前:デフォルトの名無しさん [2007/01/28(日) 03:00:55 ]
こんな時間に人が沸いてきた方が驚きなんだけど。仕事中か?

298 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 03:00:59 ]
ああ、>>ちなみにcygwinのコマンドラインで
cat /dev/random > /dev/dsp
などとしても音なるよ
同じことです

299 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 03:03:29 ]
>>296
んだんだ
cygwinのdspさんはwaveファイルも使えるんだ

あとioctl()とか使ってサンプリングレートとかチャンネル数とか変えれるから、
ちょっと気張ればネット越しに音鳴らすサウンドサーバが出来る
mixingも自力で頑張ればウハウハ

コード自体はfreebsdでも動くから、bsd機をpxebootで起動させればHDDいらずで(ry


300 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 03:36:23 ]
#include <windows.h>
int d[]={659,195,2,739,184,2,783,164,4,739,220,2,659,220,2,622,246,4,659,220,2,
739,220,2,493,195,4,554,184,2,622,184,2,659,164,4,587,184,2,523,184,2,493,195,4
,440,220,2,391,220,2,361,246,4,391,220,2,440,220,2,493,195,2,440,195,2,391,246,
2,361,246,2,329,164,2,329,184,2,659,195,2,739,184,2,783,164,4,739,220,2,659,220
,2,622,246,4,659,220,2,739,220,2,493,195,4,554,184,2,622,184,2,659,164,4,587,1\
84,2,523,184,2,493,195,4,440,220,2,391,220,2,369,293,6,391,293,2,391,195,8};vo\
id b(int x,int y, int z){if(y){for(int i=0;i<z/50;++i){Beep(x,25);Beep(y,25);}}
else{Beep(x,z);}Sleep(0);}int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){fo\
r(int i=0;i<sizeof(d);i+=3)b(d[i],d[i+1],d[i+2]*100);return 0;}
ノートが周波数そのままなので、七行超えてしまた。Beep()で音が鳴るPCでどうぞ。
Bio_100%の蟹味噌のインスパイアです。

301 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 03:53:05 ]
>>300
すげー、ピコピコなってるよ・・・

かに味噌なつかしす( ´ー`)



302 名前:300 mailto:sage [2007/01/28(日) 04:30:09 ]
#include <windows.h>
int d[]={659,195,2,739,184,2,783,164,4,739,220,2,659,220,2,622,246,4,659,220,2,
739,220,2,493,195,4,554,184,2,622,184,2,659,164,4,587,184,2,523,184,2,493,195,4
,440,220,2,391,220,2,361,246,4,391,220,2,440,220,2,493,195,2,440,195,2,391,246,
2,361,246,2,329,164,2,329,184,2,659,195,2,739,184,2,783,164,4,739,220,2,659,220
,2,622,246,4,659,220,2,739,220,2,493,195,4,554,184,2,622,184,2,659,164,4,587,1\
84,2,523,184,2,493,195,4,440,220,2,391,220,2,369,293,6,391,293,2,391,195,8};vo\
id b(int x,int y, int z){for(int i=0;i<z/50;++i){Beep(x,25);Beep(y,25);}}int W\
INAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){for(int i=0;i<sizeof(d)/sizeof(in\
t);i+=3)b(d[i],d[i+1],d[i+2]*100);return 0;}
酷いバグを直して19バイト削減。曲データ抜きなら4行だから、まぁアリってことにしてくださいm(__)m

303 名前:300 mailto:sage [2007/01/28(日) 04:53:31 ]
あ、横が80文字になってるし。WinMainのintは省略できるし、b()なんて
関数化する必要ないし。漏れアホス、回線切って首吊ってきます

304 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 09:21:18 ]
>>300の真似をしてみました。
VC8以外でコンパイルできるかは不明なり。
#include <windows.h>
char a[]="949=>9>>=;9848;>>=969444949=>9>>=;98468946899===;98989;<= ;;;;98643"
"134445454545656767878989:9:;<=>",b[]="94942929999;4;468222246894942929999;46"
"894449991335566116611; 113344 4445454;;;9998886664441111111",c[]="888888822"
"2288444444448448888888222288888422844@4444444444448844444444844@@@@422422422"
"4224224224444";int x[99],i,j=32;main(){float s=110;while(j<99)x[j++]=s*=1.05\
95;for(j=0;a[i];++i,j=0)while(j++<c[i]-48)Beep(x[a[i]],30),Beep(x[b[i]],30);}




305 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 09:31:50 ]
げ、スペースが一箇所詰まってしまた。

#include <windows.h>
char a[]="949=>9>>=;9848;>>=969444949=>9>>=;98468946899===;98989;<= ;;;;98643"
"134445454545656767878989:9:;<=>",b[]="94942929999;4;468222246894942929999;46"
"894449991335566116611; 113344  4445454;;;9998886664441111111",c[]="888888822"
"2288444444448448888888222288888422844@4444444444448844444444844@@@@422422422"
"4224224224444";int x[99],i,j=32;main(){float s=110;while(j<99)x[j++]=s*=1.05\
95;for(j=0;a[i];++i,j=0)while(j++<c[i]-48)Beep(x[a[i]],30),Beep(x[b[i]],30);}

これでちゃんと鳴る……といいな。


306 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 09:39:48 ]
>>296
ワロス

知らんかった

307 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 09:57:20 ]
>>305
鳴ったよー。gcc cygwin で確認

308 名前:279 mailto:sage [2007/01/28(日) 10:24:12 ]
言った本人が何もしないのもあれなので作ってみたが、
レベル高すぎて投下する気なくす…orz

309 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 10:38:30 ]
>>305
すげーww
なんかめちゃくちゃなつかしい

310 名前:デフォルトの名無しさん [2007/01/28(日) 11:42:10 ]
>>305
bcc5.5だと
1.05\
95;
の部分がエラーになったんだけど、直したら聞けました。つーかすげーこれww

311 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 12:04:42 ]
#include <unistd.h>
#include <fcntl.h>
char a[]="949=>9>>=;9848;>>=969444949=>9>>=;98468946899===;98989;<= ;;;;98643"
"134445454545656767878989:9:;<=>",b[]="94942929999;4;468222246894942929999;46"
"894449991335566116611; 113344  4445454;;;9998886664441111111",c[]="888888822"
"2288444444448448888888222288888422844@4444444444448844444444844@@@@422422422"
"4224224224444";int x[99],d,i,j=32,k=8000,l=8;m(a,b,s){char r[4096];s*=2;a=k/a
;b=k/b;for(j=s;j--;)r[j]=(!(j%a)+!(j%b))*32;write(d,r,s);}main(){float s=1\
10;while(j<99) x[j++]=s*=1.0595;d=open("/dev/dsp",2);for(i=0;a[i];m(x[a\[i]],\
x[b[i]],30*c[i]-48),++i);}

>>305
がんばったけど、7行に出来ない(orz
とりあえず音はなるけど、和音とかしらんので鳴るだけでいいと思ってる (´・ω・` ス

312 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 12:12:40 ]
>>311
#include <unistd.h>
#include <fcntl.h>
char a[]="949=>9>>=;9848;>>=969444949=>9>>=;98468946899===;98989;<= ;;;;98643"
"134445454545656767878989:9:;<=>",b[]="94942929999;4;468222246894942929999;46"
"894449991335566116611; 113344  4445454;;;9998886664441111111",c[]="888888822"
"2288444444448448888888222288888422844@4444444444448844444444844@@@@422422422"
"4224224224444";int x[99],d,i,j=32,k=8000,l=8;m(a,b,s){char r[4096];s*=2;a=k/a
;b=k/b;for(j=s;j--;)r[j]=(!(j%a)+!(j%b))*32;write(d,r,s);}main(){float s=110;
while(j<99) x[j++]=s*=1.0595;d=open("/dev/dsp",2);for(i=0;a[i];m(x[a[i]],x[b[\
i]],30*c[i]-48),++i);}

こうだな

313 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 12:18:47 ]
#include <unistd.h>
#include <fcntl.h>
char a[]="949=>9>>=;9848;>>=969444949=>9>>=;98468946899===;98989;<= ;;;;98643"
"134445454545656767878989:9:;<=>",b[]="94942929999;4;468222246894942929999;46"
"894449991335566116611; 113344  4445454;;;9998886664441111111",c[]="888888822"
"2288444444448448888888222288888422844@4444444444448844444444844@@@@422422422"
"4224224224444";int x[99],d,i,j=32,k=8000,l=8;m(a,b,s){char r[4096];for(j=s;j\
--;)r[j]=(!(j%a)+!(j%b))*32;write(d,r,s);}main(){float s=110;while(j<99) x[j+\
+]=k/(s*=1.0595);d=open("/dev/dsp",2);for(i=0;a[i];m(x[a[i]],x[b[i]],60*c[i]-
96),++i);}

>>312もうちょっと
後はデータをファイルに持たせるとか…か

314 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 12:21:34 ]
>>311-313
dsp1.cpp:7: error: expected constructor, destructor, or type conversion before '(' token
dsp1.cpp:7: error: expected `,' or `;' before '(' token
dsp1.cpp: In function `int main()':
dsp1.cpp:7: warning: converting to `int' from `float'
dsp1.cpp:10: error: `m' undeclared (first use this function)
dsp1.cpp:10: error: (Each undeclared identifier is reported only once for each function it appears in.)
dsp1.cpp:10:11: warning: no newline at end of file

って、出る('A`)



315 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 12:25:41 ]
m(a,b,s){
多分、この書き方なんですけど、これってCでいいんですか?

316 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 12:31:09 ]
>>284に戻るけど…

using System;using System.IO;class Program{static void Main(string[]args){try{
int i=int.Parse(args[1]);byte[]h=new byte[]{82,73,70,70,36,0,(byte)i,0,87,65, 
86,69,102,109,116,32,16,0,0,0,1,0,1,0,68,172,0,0,68,172,0,0,1,0,8,0,100,97,116
,97,0,0,(byte)i,0};using(FileStream f=new FileStream(args[0],FileMode.Create))
{f.Write(h,0,44);h=new byte[i*65536];Random r=new Random(DateTime.Now.Second);
r.NextBytes(h);f.Write(h,0,i*65536);}}catch{Console.Write("Error");}}}

使い方:
hoge.exe savepath length
長さは(0〜255)*65536Bでつ。

317 名前:デフォルトの名無しさん [2007/01/28(日) 12:56:06 ]
>>302
require"base64";require'zlib';require"Win32API";$o=Win32API.new("kernel32","B\
eep",%w(i i),'v');def b(x,y,z)(0...z/50).map{$o.call x,25;$o.call y,25}end;b=
"eJybzHSYgYnhMdMOIMnPvISBBci+A2RPBpN5TN+AIhA2RPwt42GgiBZYfR6Y\nnMwE0uUNZnODSY\
iaHYwg9e1gMpMRZA6EDREHqQGxD4PVfIOqYWLwZFwCJiEm\n08NthYyqjGxAtiojSOQwAwcDAE8gP\
SA=\n";d=Zlib::Inflate.inflate(Base64.decode64(b)).unpack("S*");(0...d.size/3
).map{|i|i*=3;b d[i],d[i+1],d[i+2]*100}

ワーイ。rubyで、6行できたよー。

318 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 13:14:40 ]
>>314
C++じゃなくてCで

>>315
暗黙に int とみなされる

319 名前:デフォルトの名無しさん [2007/01/28(日) 13:38:54 ]
>>318
なったよw

320 名前:デフォルトの名無しさん [2007/01/28(日) 13:41:13 ]
>>313
データをファイルに持たせるのはルール違反

321 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 13:54:52 ]
beep ついてねーよヽ(`Д´)ノウワァァン
ということで cygwin 専用 beep エミュ。
音程が合わない時は BASE_FREQを適当に調整してください。

#include <windows.h>
#include <stdio.h>
#define BASE_FREQ8000
WINAPI BOOL Beep(DWORD freq, DWORD time){int t,tf,dt;static FILE *fp=0;if(!fp)
fp=fopen("/dev/dsp","wb");if(!freq||freq>BASE_FREQ/2)tf=0x7fffffff;else tf=
BASE_FREQ/2/freq;for(t=0;t<time*BASE_FREQ/1000;t++){dt=((t/tf))%2?127:0;fwrite
(&dt,1,1,fp);}fflush(fp);return TRUE;}

322 名前:321 mailto:sage [2007/01/28(日) 14:31:09 ]
無駄が多すぎた。
#include <windows.h>
#include <stdio.h>
FILE *p;WINAPI BOOL Beep(DWORD f, DWORD m){int B=4000,t=0,g,d;p=p?p:fopen("/de"
"v/dsp","wb");g=!f||f>B?(1<<31)-1:B/f;for(;t<m*B/500;t++){d=t/g%2?127:0;fwrite(
&d,1,1,p);}fflush(p);return TRUE;}

323 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 16:23:05 ]
Cの&& ||ってショートサーキット評価だっけ?

324 名前:デフォルトの名無しさん [2007/01/28(日) 16:26:07 ]
そうだぜ



325 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 16:32:51 ]
thx
もう少し縮められそうだ

326 名前:305 mailto:sage [2007/01/28(日) 16:54:21 ]
おー、なんか皆がんばっとる!('ω`*)
徹夜して作った甲斐がありました!

327 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 17:24:11 ]
標準入力からMMLを読んでビープで再生する
A-G: 音符; R: 休符 (数値を後置して長さ, ドットを後置して付点)
Tn: Tempo; Ln: Length
On: Octave (n=0-7); >: Octave+; <: Octave-

#include <stdio.h>
#include <windows.h>
int r,c,d,n,j,a,o=4,l=4,t=120,f[84],g[]={0,2,3,5,7,8,10};w(a){ungetc(a,stdin);
}y(){return getchar();}float s=27.5;q(int*p){for(r=0;'0'<=(d=y())&&d<='9';)r=r
*10+d-'0';w(d);r?*p=r:0;}main(){for(;j<84;j++,s*=1.0595)f[j]=s;while((c=y())!=
EOF)c+=c<'a'||'z'<c?0:'A'-'a','A'<=c&&c<'H'||c=='R'?c-'R'?a=g[c-'A']+12*o,(d=y
())=='+'||d=='#'?a+=a!=83:d=='-'?a-=!!a:w(d):0,n=l,q(&n),j=120000*((d=y())-'.'
?w(d),2:3)/t/n,c-'R'?Beep(f[a],j):Sleep(j):c=='L'?q(&l):c=='O'?q(&o),o=o>7?7:o
:c=='T'?q(&t):c=='>'?o+=o!=7:c=='<'?o-=!!o:0;}//9行47桁

俺の力ではこれ以上短くできない…orz

328 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 17:35:05 ]
あら。一行78文字になってた

#include <stdio.h>
#include <windows.h>
int r,c,d,n,j,a,o=4,l=4,t=120,f[84],g[]={0,2,3,5,7,8,10};w(a){ungetc(a,stdin);}
y(){return getchar();}float s=27.5;q(int*p){for(r=0;'0'<=(d=y())&&d<='9';)r=r*\
10+d-'0';w(d);r?*p=r:0;}main(){for(;j<84;j++,s*=1.0595)f[j]=s;while((c=y())!=E\
OF)c+=c<'a'||'z'<c?0:'A'-'a','A'<=c&&c<'H'||c=='R'?c-'R'?a=g[c-'A']+12*o,(d=y()
)=='+'||d=='#'?a+=a!=83:d=='-'?a-=!!a:w(d):0,n=l,q(&n),j=120000*((d=y())-'.'?w(
d),2:3)/t/n,c-'R'?Beep(f[a],j):Sleep(j):c=='L'?q(&l):c=='O'?q(&o),o=o>7?7:o:c==
'T'?q(&t):c=='>'?o+=o!=7:c=='<'?o-=!!o:0;}

329 名前:デフォルトの名無しさん [2007/01/28(日) 17:56:04 ]
ソース解読するための
整形ツールって無いですか?

330 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 17:56:22 ]
時代が20年くらい巻き戻ったな、このスレ

331 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 17:56:33 ]
GNU Indentは?

332 名前:デフォルトの名無しさん [2007/01/28(日) 18:31:01 ]
>>331
いけました。サンクス

333 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 21:03:16 ]
>>329
過去スレに7行のもあった希ガス

334 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 22:42:27 ]
'A' とかは数字の即値で書いたほうが短そう



335 名前:デフォルトの名無しさん [2007/01/28(日) 22:48:24 ]
>>284
BSD系って君が言ったから

OSXは、/dev/dspねぇ。。

336 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 22:50:04 ]
>>334
上でも出てるがそりゃ邪道だ

337 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 23:04:34 ]
>>335
多分あるよ。
FreeBSD5のカーネル付近から/dev/以下は自動的に作られるから。
ls -l /dev/dsp ってやってみて

それでもnot foundならkldload snd_driverでカーネルにサウンドドライバロードさせてみて
で、 ls -l /dev/dsp

338 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 23:19:02 ]
>>336
そんなん言ったら数字とか英字の判断は、
C的にはisdigitとかisalphaを使うべきとこだよ。
>'0'<=(d=y())&&d<='9';
isdigit(d=y());
こっちのほうが圧倒的に短いし。


339 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 23:23:16 ]
#includeディレクティブが一行食うから
よほど文字種判別ばかりやってるコード
じゃないと短くはならんでしょ

340 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 23:30:01 ]
>>338
テレックスで用いられるようなアルファベットが連続していない文字コードを考慮すると
'A'<=c&&c<'H'||c=='R'

'A'==c||'B'==c||'C'==c||'D'==c||'E'==c||'F'==c||'G'==c||'R'==c
ないし
!('A'-c||'B'-c||'C'-c||'D'-c||'E'-c||'F'-c||'G'-c||'R'-c)
と書かないといけないのか。
流石にこのスレ的にはつらいな

341 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 23:31:26 ]
!('A'-c&&'B'-c&&'C'-c&&'D'-c&&'E'-c&&'F'-c&&'G'-c&&'R'-c) だた

342 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 23:58:46 ]
>>339
うちの環境だと #include<stdio.h> すれば問題なかった……っていうと、
これも邪道かなー。正しくは #include<ctype.h> だし。
どのみち環境に対して何の仮定もおかないで書くのはつらい。
mainでreturnしないのも本来問題あるわけだし。
まー、最終的には個人の裁量だから、この話題はヤメにしよう。宗教論争になりそうだ。

343 名前:デフォルトの名無しさん [2007/01/29(月) 00:15:11 ]
print"第一数字(半角数字で入力してください):";i=gets.to_i;print"第二数字(半角数\
字で入力してください):";j=gets.to_i;puts"\n足し算:%g + %g = %g"%[i,j,i+j],"引\
き算:%g - %g = %g"%[i,j,i-j],"掛け算:%g * %g = %g"%[i,j,i*j],"べき算:%g の %g\
乗 = %g"%[i,j,i**j]

ワーイ、rubyで4行、け言語できたよー。

344 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 03:05:51 ]
>>343
毛言語とはまた怪訝な言語じゃの



345 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 13:22:28 ]
めそ

346 名前:デフォルトの名無しさん [2007/01/29(月) 13:39:59 ]
モキュ

347 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 08:57:38 ]
和音に挑戦しようと思ったんじゃが
乗り遅れたか


348 名前:デフォルトの名無しさん [2007/01/30(火) 11:13:16 ]
キー押して音鳴らすようなの作れそうじゃね?

349 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 22:38:47 ]
今更ながら>>305に感動

350 名前:305 mailto:sage [2007/02/01(木) 01:13:43 ]
本体部分を50バイト削減ー。
でもデータ作成に挫折った。キリのいいところまで入らない。

#include <windows.h>
char a[]=" 747:7:@:@C@AC@ACCCCCC<7<7HFHLOMLJLMLHJCJCJLMOQOMLMOTOMHHLMOOHJLMOQ"
"QTSQOOOOONMMMLLLJHGEGEC",b[]=" 747747:7:@:>@:>@>7542<7<7<<77<77>>>77>7>>77>>"
">77<<<777<7<<7:77755<<<55789:;<=>?@ABCCC>>>7",c[]="1822822822222222<<6666666"
"62442642222426624422224222222266426622242642422222222222222222228";float f(i)
{return i?f(i-1)*1.0595:55;}main(i,t){for(i=t=0;c[i]&&(t--||(t=c[++i]-*c));Be\
ep(f(b[i]-*b),40))Beep(f(a[i]-*a),40);}


351 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 01:18:38 ]
(t--||(t=c[++i]-*c)って鼻から悪魔出ないか?

352 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 01:23:55 ]
||は副作用ぶった切るから大丈夫だよ

353 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 01:29:56 ]
f()を数えてなかった……。訂正、10バイト削減。

354 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 01:30:37 ]
>>351
--が前置演算子だと動かないね。



355 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 01:50:03 ]
本当に20年前に戻った気がするな・・・

356 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 03:11:00 ]
>>351
鼻から悪魔が出る って表現気に入った

357 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 10:56:16 ]
>>356
常套句。鼻から悪魔で検索してみろ

358 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 11:48:49 ]
なるほど。生まれる前から言われてた言葉だったのか。
勉強になるなぁ。

359 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 12:03:57 ]
351は鼻から悪魔が出るんじゃないかな。

360 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 18:29:14 ]
出ないでない

361 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 18:30:34 ]
351なら出ても仕様違反ではないけどな

362 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 18:45:17 ]
どこが悪いの?

363 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 18:52:07 ]
>>361
> c[i]&&(t--||(t=c[++i]-*c))
||はsequence pointだからt--とt=c[++i]-*cはこの順に値の変更が行われることが保証されてる

364 名前:305 mailto:sage [2007/02/01(木) 23:42:07 ]
副作用完了点とか意識してなかったわ('д`)



365 名前:デフォルトの名無しさん [2007/03/04(日) 18:06:55 ]
int puts(const char*);int main(void){return puts("age")<0;}

366 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:12:19 ]
かなりの趣味スレですね

367 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:19:55 ]
ageるからには何かネタないの?

368 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:24:12 ]
>>365
ネタもなしにあげとはずいぶんなおまーんこですね
↑この一文を解釈して動くプログラミング言語を作ってくれ

369 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:13:21 ]
宣言だけ書いとけば、使ったライブラリを勝手にリンクしてくれる、と解釈。
つまりincludeの省略か。
しかしそんなもん俺に作れるわきゃーない。

370 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:16:36 ]
Cの話なら、#includeしなくても直にプロトタイプ宣言すれば済むじゃん?

371 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:44:22 ]
(・д・)どのCの話だ?

372 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:53:15 ]
#includeディレクティブとリンカがどのライブラリをリンクするかは関係ないでs

373 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 22:58:55 ]
#DEFINE ネタもなしにあげとはずいぶんなおまーんこですね main(){return(0);}

374 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 23:02:34 ]
このスレではreturnに括弧つけるのは許されないだろ、常識的に考えて…



375 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 04:16:30 ]
って言うか生きてたんだなおまいら。

376 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 07:42:48 ]
main関数でreturnしなかった場合、
戻り値は0になると決められているから、
return(0);は書く必要すらない。
-10文字

377 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 01:23:37 ]
どんな処理系だそれは。

% cat test.c
#include <stdio.h>
main(void){printf("hello, world\n");}

% gcc -ansi -pedantic test.c

% ./a.exe
hello, world

% echo $?
13


それとも、言ってるのはこういう意味じゃない?


378 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 01:27:49 ]
>>377
gcc -std=c99 -pedantic test.c

379 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 01:35:29 ]
99じゃしょうがないな


380 名前:デフォルトの名無しさん [2007/05/01(火) 07:42:12 ]
age

381 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 15:53:57 ]
WinMainって
int WINAPI WinMain(HMODULE,HMODULE,LPSTR,int)
これじゃだめなのかな
bcc5.5.1とvc8.0では一応通ったんだけど

382 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 17:33:41 ]
HINSTANCEもHMODULEも意味のない構造体へのポインタだから大丈夫だろ。

383 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 18:55:53 ]
全く問題ない

384 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 12:56:16 ]
動けばいいってんなら、HWNDでもいいし、void*でもいいだろ。



385 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:00:03 ]
綺麗に書くなんて下の下だな
短く書け。ただし環境依存するな。

386 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:05:28 ]
>>385
長いし環境依存だし、しかも纏めようとしてる辺りが気に入らない
(´・ω・`) で?

387 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:08:16 ]
HWND環境依存じゃないだろ?
今手元にヘッダファイル無いけど…

388 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:16:48 ]
帰り値も 必要ないんじゃないのか?

389 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:19:25 ]
main型の返り値に関しては微妙だな

390 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 14:20:55 ]
HWNDとかいう時点で十分に環境依存な気がするんだが、これは言ったらダメか。

391 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 15:07:24 ]
WinMainな時点でWindows前提なんだから議論の余地はないだろうが

392 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 15:14:24 ]
(´・ω・`) で?

393 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 16:45:18 ]
このスレでの環境依存というのはそういう意味ではなくて、
開発環境に依存するコードを書くなって事じゃないかな。
#includeなくても動く環境とか、main関数でreturnがいらない環境とか、
そういう環境もあるけど、それに依存するコードは駄目だよって意味じゃない?

394 名前:デフォルトの名無しさん [2007/05/02(水) 17:55:57 ]
(д)゚ ゚



395 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 17:57:14 ]
結論を出す必要は無いんだよ。 思ったようにコード書けばいいじゃない。


396 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 18:16:13 ]
今までこのスレ(過去スレ含)に出てきたコードを見てると
修正を加えないとコンパイルさえ通らないのばかり
よってセーフ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<140KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef