1/28 ($BF|(B)
[Prog] $B%-%c%9%H<0$r:8JU$KCV$/$H(B
$B!V%W%m%0%i%_%s%08@8l(BC$B!W$NBhFsHG$NIUO?(BA$B$K$O(B
A 7.5 $B7?JQ49(B ($B%-%c%9%H(B) - $B7?JQ49IU$-$N<0$O:8JU<0$G$O$J$$!#(B
$B$H$$$&5-=R$,$"$j(B
$B%-%c%9%H<0$r:8JU$KCV$/$3$H$O$G$-$J$$$H;W$C$F$$$?$N$@$,!"(B
ISO/IEC 9899: 1999 $B$NK]Lu$G$"$k(B JIS X3010:2003 $B$K$O(B
6.5.4$B@a(B $B%-%c%9%H1i;;;R(B - $BCm~7?$X$N%-%c%9%H$O!"$=$N7?$NHs=$>~HG$X$N%-%c%9%H$HF1$88z2L$r$b$D!#(B
$B$H$"$k!#(B
GCC 3.4.4 $B$G
$B7k2L$O$3$s$J46$8!#(B
C $B8@8l$N>l9g$K$O%-%c%9%H$J$7$N>l9g$HF1$8F0:n$r$9$k!#(B
GCC $B$N>l9g$K$OJQ?t$HF1$87?$K%-%c%9%H$9$k>l9g$K$O7Y9p$9$i$b=P$:!#(B
$B7Y9p$,=P$J$$$H$$$&$N$O$A$g$C$H62$$$h$&$J5$$,$9$k!#(B
C++ $B8@8l$N>l9g$OEvA3%(%i!
gcc $B$N(B 4.1.0 $B$G3NG'$9$k$H!"(B
$B>e5-%3!<%I$O%(%i!<$H$J$k!#(B
int value = -1;
int main(int argc, char** argv)
{
(int)value = 1;
printf("%d\n", value);
return 0;
}
int value = -1;
int main(int argc, char** argv)
{
(char)value = 1;
printf("%d\n", value);
return 0;
}
$B8@8l(B
$B%3%^%s%I(B
lvalue1
lvalue2
C90
gcc -ansi -Wall lvalue?.c
$B7Y9p$J$7(B
$B7k2L$O(B1$B7Y9p$"$j(B
$B7k2L$O(B1
C9X
gcc -ansi -Wall --std=c99 lvalue?.c
$B7Y9p$J$7(B
$B7k2L$O(B1$B7Y9p$"$j(B
$B7k2L$O(B1
C++
gcc -ansi -Wall lvalue?.cc
$B%3%s%Q%$%k%(%i!<(B $B%3%s%Q%$%k%(%i!<(B
$BDI5-!'(B4/22
1/26 ($BLZ(B)
[Prog] $B%3%s%Q%$%i:GE,2=$N$+$+$j2a$.(B
$BAjJQ$o$i$:(B IA-64/Linux $B>e$G%W%m%0%i%`$NF|!9$@$,!"(B GCC $B$,9T$&L/$J:GE,2=$rH/8+!#(B
#include <stdint.h> int foo(uint64_t* p) { return (int)*(uint64_t*)p; }
8$B%P%$%H%G!<%?$rFI$_9~$s$G$=$l$rId9fIU$-@0?t$K%-%c%9%H$7$FJV$9$H$$$&$@$1$N%W%m%0%i%`$@$,!"(B $B$3$l$r(B GCC 3.4.4 $B$G(B -O3 $B%*%W%7%g%s$r2C$($F%3%s%Q%$%k$9$k$H(B $B0J2<$N$h$&$K$J$k!#(B
.file "foo.c"
.pred.safe_across_calls p1-p5,p16-p63
.text
.align 16
.global foo#
.proc foo#
foo:
.prologue
.body
.mbb
ld4 r8 = [r32]
nop 0
br.ret.sptk.many b0
.endp foo#
.section .note.GNU-stack,"",@progbits
.ident "GCC: (GNU) 3.4.4 20050721 (Red Hat 3.4.4-2)"
$BCN$i$J$$$&$A$K(B 8 $B%P%$%H%m!<%I$,!"(B 4$B%P%$%H%m!<%I$KAaJQ$o$j!#(B volatile $B$r$D$1$l$P$A$c$s$H(B8$B%P%$%H%m!<%I$K$J$k!#(B $B4JC1$J%Y%s%A%^!<%/$r:n$C$F7WB,$9$kJ,$K$O!"(B $B8z2L$O$[$H$s$I$J$$$h$&$@!#(B $B8D?ME*$K$O%3%s%Q%$%i:GE,2=$N8z$-2a$.$H8@$&$+!"(B $BM>7W$J$3$H$O$;$s$GM_$7$$$H$$$&5$$,$9$k!#(B
1/20 ($BEZ(B)
$B$H$h$7$^IW:J$N7k:'HdO*1c(B
$BL\9u%V%k!<%9%"%l%$%8%c%Q%s$G3+:E$5$l$?(B $B$H$h$7$^$5$s$N7k:'HdO*1c(B(?)$B$K=P@J$7$?$N$@$,(I%%%(B
(I%%%$B!#(B
$B$"$l$@!#(B
$B$o$l$o$l#F$N(B3$B?MAH$@$1$9$4$$Ib$$$F$$$?$h!#(B
1/17 ($B?e(B)
[Prog] Linux $B$G%U%!%$%k$d%G%#%l%/%H%j$NJQ2=$r4F;k$9$k(B
MacOS $B$N(B Active Folder $B$d(B Windows $B$N(B FindFirstChangeNotification $B$N$h$&$J$3$H$r(B Linux $B$G$b$G$-$J$$$+$HC5$7$F$$$k$H!"(B inotify $B$H$$$&$N$,$"$k$h$&$@!#(B
$B;H$$J}$N2r@b$,(B
IBM developerWorks$B$K(B
$B>h$C$F$$$k!#(B
$B$3$N(B URL $B$G$O%+!<%M%k$K%Q%C%A$rEv$F$F$$$k$,!"(B
2.6.12 $B!A(B 2.6.13 $B$N4V$G%a%$%s%9%H%j!<%`$K
$B
$B$b$&$A$g$C$H$^$7$JNc(B(inotify.c)$B$r=q$$$F$_$?!#(B
$B$b$&0l$D!#(B
$B=>$C$F(B
Linux $B$G%U%!%$%k$NJQ99$r8!=P$9$k(B(inotify/fanotify)$B$N%Z!<%8$K$^$H$a$?!#(B
#include <sys/inotify.h>
int fd = inotify_init();
if (fd == -1) {
perror("inotify_init"); exit(1);
}
int wd = inotify_add_watch(fd, "/home/nminoru/",
IN_ALL_EVENTS /* $BA4$F$N%$%Y%s%H$r4F;k(B */);
if (wd == -1) {
perror("inotify_add_watch"); exit(1);
}
struct inotify_event inotify;
/* $B%U%!%$%kL>$r=|$/(B inotify_event $B$NFI$_9~$_(B */
read (fd, &inotify, offsetof(struct inotify_event, name));
/* $B%U%!%$%kL>(B */
char* name_buf = alloca(inotify->len);
read (fd, name_buf, inotify->len);
/* $B%$%Y%s%H$N2r@O(B */
$BDI5-!'(B2012/3/27
inotify_add_watch
$B$r@_Dj$9$kI,MW$,$"$k!#(B
read
$B$GFI$_9~$`$,!"$3$N:]$K$"$^$j>.$5$J%P%C%U%!%5%$%:$r;XDj$9$k$H%(%i!<$H$J$k!#(B1$B%$%Y%s%H$4$H$K$A$^$A$^FI$_9~$`$N$OL5M}$N$h$&$@!#(B
inotify_event
$B9=B$BN$N(B len
$B%a%s%PJQ?t$O%^%K%e%"%k$H0[$J$k$N$GCm0U$,I,MW$@!#(B
$B%^%K%e%"%k$N5-=R$O0J2<$N$h$&$K=q$+$l$F$*$j(B len
$B$J(B name[]
$B$ND9$5$N$h$&$K8+$($k!#(B
struct inotify_event {
int wd; /* Watch descriptor */
uint32_t mask; /* Mask of events */
uint32_t cookie; /* Unique cookie associating related
events (for rename(2)) */
uint32_t len; /* Size of name field */
char name[]; /* Optional null-terminated name */
};
len
$B$r9M$($kA0$K(B inotify_event
$B9=B$BN$NBg$-$5$r9M$($k!#(B
$B$3$l$O(B IPL32 $B$^$?$O(B LP64 $B$N4D6-$G$O(B len
$B$^$G$G(B 12 $B%P%$%H$G$"$k!#(B
name[]
$B$r4^$a$k$H9=B$BN$,6-3&D4@0$rread $B$GFI$_9~$s$@%P%C%U%!$NCf$G$N%$%Y%s%H$NBg$-$5!"sizeof(struct inotify_event) + len
$B$G7h$^$k!#(B
inotify $B$N%$%Y%s%H%G!<%?$,(B 4 $B%P%$%H6-3&$K$=$&$N$G!"(Blen
$B$O(B 4 $B$N@0?tG\$K$J$k!#(B
len
$B$O(B name[]
$B$ND9$5$G$O$J$$!#(B
name[]
$B$ND9$5$O(B NULL $B=*C$BDI5-!'(B2012/4/29
1/16 ($B2P(B)
[Lang] Programming Language Fortress (sunsource.net$B!"(B/.J)
Sun $B$,3+H/$7$F$$$k(B Fortran $B$N8e7Q(B Fortress $B$,%*!<%W%s%=!<%92=$5$l$?!#(B $B8@8l;EMM$r%X%3%X%3$_$F$$$k$,!"(B $B<1JL;R$KHs(BASCII$BJ8;z$,;H$($k%W%m%0%i%`$O$$$/$D$b$"$k$,!"(B $B!g(B $B$d(B $B"*(B $B$N$h$&$JHs(B ASCII $B5-9f$,;H$($k$H8@$&$N$O?7A/!#(B $B:r:#$N%3%s%T%e!<%?8@8l$@$1$"$j(B Memory model $B$b>\:Y$KDj5A$5$l$F$$$k!#(B
HPC $BJ,Ln$GK\Ev$K;H$o$l$k$+$I$&$+$O!"(B $B@-G=$,$$$$%3%s%Q%$%i$,:n$i$l$k$+$I$&$+$,80$K$J$k$H;W$o$l$k!#(B $B$?$@$74{B8$N(B Fortran $B%3%s%Q%$%i%Y%s%@$O$I$3$b(B Fortress $B$N(B F $B$N;z$b$J$$!#(B $B$`!A!#(B
1/11 ($BLZ(B)
[Food] $BEZ4VEZ4V!w?72#IM(B
$B?&>l$N?7G/2q!#(B
1/10 ($B?e(B)
Source Lines of Code (Wikipedia)
$B:#$N;E;v$O%=!<%9%3!<%I$N%9%F%C%W?t$r?t$($F:Y$+$/Js9p$9$k$3$H$K$J$C$F$$$k$N$@$,!"(B $BC/$KJ9$$$F$b%9%F%C%W?t$NDj5A$,$O$C$-$j$7$J$$!#(B
$B0lHVI8=`E*$J$N$O!"(B $B6uGr9T$r30$7$FJ*M}E*$J9T?t$r?t$($kN.57$i$7$$!#(B $B$=$N>l9g!"(B
for (i=0 ; i<MAX ; i++) printf("%d\n", i);
$B$O(B2$B9T$G!"(B
for (i=0 ; i<MAX ; i++) { printf("%d\n", i); }
$B$O(B3$B9T$G!"(B
for (i=0 ; i<MAX ; i++) { printf("%d\n", i); }
$B$O(B4$B9T$H$$$&$3$H$K$J$k!#(B
$B$J$s$+G
$BEl5^El2#@~$K>h$C$F$$$k$H(B PASMO $B%+!<%I$N@kEA$r$5$+$s$K$7$F$$$k!#(B
$BEl5^El2#@~$H(BJR$B2#IM@~$r>h$j7Q$0?H$H$7$F$O!"(B
$BHs@\?(7?$NO"MmDj4|7t$NF3F~$,4r$7$$!#(B
PASMO $B$N1?MQ3+;O$O(B 3/18 $B$+$i!#(B
$B:#$NDj4|$,(B4/7$B$K@Z$l$k$N$G!"(B
$B$=$N8e$K>h$j49$($h$&(B ($B!.!&&X!&!-(B)
PASMO
1/9 ($B2P(B)
Subversion $B$N%j%]%8%H%j$r(B Web $B$+$iGA$/(B
$B3+H/4D6-$N@0Hw$N$?$a$K(B Subversion $B$N%j%]%8%H%jFb$N%U%!%$%k%D%j!<$r(B Web $B$GI=<($G$-$k%D!<%k$r$$$m$$$mD4::$9$k!#(B $B0J2<$N$h$&$J%D!<%k$,$"$k$h$&$@!#(B $B5!G=$NHf3S$O(B Michael Flanakin$B;a$N(B blog$B$,(B $B>\$7$$!#(B
- SVN::Web
- ViewVC
- WebSVN
- Insurrection - Web Access to Subversion
- Chora
- SVN::RaWeb::Light
- FlexySvn
- perl_svn
- mod_svn_view
- bsSvnBrowser
- ViewSVN
$B%P!<%8%g%s4V$NHf3SI=<(5!G=$,M_$7$$$N$@$,!"(B $BBP1~$7$F$$$k$N$O(B Chora$B!"(BSVN::Web$B!"(BViewVC$B!"(BViewSVN$B!"(BWebSVN$B!"(BViewVC$B!#(B $B=g$K;n$7$F$_$k$,!"(B
- $B:G$b%a%8%c!<$J(B ViewVC $B$O(B Subversion $B$N(B 1.4 $B0J9_$rMW5a$7$F$$$k!#(B $B%5!<%PB&$N(B Subversion $B$,(B 1.1 $B$N$?$a$+@5>o$KF0:n$7$J$$!#(B Subversion $B$N%j%]%8%H%j%5!<%P0J30$G$OF0:n$9$k$N$@$,!"(B ViewVC $B$K$O%j%b!<%H$N%j%]%8%H%j$r1\Mw$9$k5!G=$,$J$$(B($B$h$&$K$_$($k(B)$B!#(B
- Chora $B$OF0:n$N$?$a$NA0Ds%=%U%H$N%$%s%9%H!<%k$,m5$$$FCGG0!#(B
- WebSVN $B$O$9$s$J$j%$%s%9%H!<%k$G$-$k!#(B
WebSVN $B$O1\Mw$7$?$$%j%]%8%H%j$r(Bsvn://host.domain/repository
$B$N$h$&$K;XDj$G$-$k$N$G!"(B $B%j%b!<%H%5%$%H$N%j%]%8%H%j$b8+$k$3$H$,$G$-$k!#(B
$B%U%)%k%H$G$O%U%!%$%k4V$N:9J,$NWebSVN$B$r1?MQ$7$F$$$k%5%$%H$NCf$K$O!"(B $B?75l$N%U%!%$%k$r:81&$KJB$Y$F(B $BDI2C$5$l$?2U=j!&:o=|$5$l$?2U=j$,I=<($G$-$k$h$&$K$7$F$$$k$H$3$m$,$"$k$N$G!"(B $B@_Dj$O2DG=$@$H;W$o$l$k!#(B
$B$H$j$($"$($:(B diff $B$N8+$(J}$,2r7h$9$k$h$&$J$i(B WebSVN $B$G9T$C$F$_$k!#(B
1/5 ($B6b(B)
$BB(@JLM$NH/L@
$BF|@6?)IJ$NAO6H
Slashdot.org $B$Ge$2$i$l$?$j(B
(/.)$B!"(B
Wikipedia $B$,AaB.99?7$5$l$F$$$k(B
(Wikipedia)$B!#(B
$B3$30$N(B Nerd $B$J?M$?$A$b%$%s%9%?%s%H%L!<%I%k@.J,$O9b$a$J$N$M(I%%%(B
P.S.
$B%I%$%D(B$B$G8+$?B(@J%i!<%a%s$b(B
$B$h$/8+$j$cF|@6?)IJ$@!#(B
$BF|@6?)IJ$NAO6H
Slashdot.org $B$G
$B%I%$%D(B$B$G8+$?B(@J%i!<%a%s$b(B
$B$h$/8+$j$cF|@6?)IJ$@!#(B
P.S.
1/3 ($B?e(B)
[Work] $BL5BL$J;~4V$r2a$4$7$F$7$^$C$?(I%%%(B
$B;02lF|$@$H$$$&$N$K2q
$B7k6I(B CONFIG $B%^%/%m$NL>A0$r%j%M!<%`$9$k:]$K!"(B
$B$+$i!"(B
$B%3%a%s%H$rJD$8K:$l$?$N$,860x$@$C$?!#(B
$B26$N;~4V$,(I%%%$B!#(B
$B26$N;~4V$,(I%%%$B!#(B
#endif /* CONFIG_HOGEHOGE */
#endif /* CONFIG_MOGE
Linux $B%+!<%M%k$O(B GCC $B3HD%$r$N%=!<%9$G$O(B // $B$,;H$o$l$F$$$J$$$N$G$5$9$,$KX_$i$l$^$9(B (;_;
$B$H$j$"$($::#2s$N$3$H$r6571$K!"%"%[$J%3!<%I$r=q$+$J$$$3$H$r4N$KL?$8$F$*$-$^$9!#(B
1/1 ($B7n(B)
$BG/L@$1Aa!9(B DVD-R $B%I%i%$%V$,GKB;(B
$B0l:rG/$N(B5/3$B$KGc$C$?(B PLEXTOR $B$N(B PX-716A $B$,(B I/O $B%(%i!<$r=P$9$h$&$K$J$C$F$7$^$C$?!#(B
$B$3$l$GDY$7$?(B CD-R/DVD-R $B%I%i%$%P$O(B 4 $BBfL\$K$J$k!#(B
$B$3$&$$$&=q$-9~$_2DG=$J8w%b%N$N
$B$7$g$&$,$J$$$N$G=P6PESCf$K?72#IM$N%S%C%/%+%a%i$G(B PX-760A $B$r9XF~!#(B
$B2H$K5"$C$?$i%Q%=%3%s$K