
UNIX$B$G$O(Bgcc$B$,%?%@$G;H$($k$s$@$+$i!"(B
Windows$B$G$@$C$F(BVC++$B$K$J$s$+6b$r=P$;$k$+!"$H;W$C$F$$$?I.
$B$3$l$O!"$=$s$JI.
$BG0$N$?$aIU$12C$($F$*$/$H!"$3$NF;$O$$$P$i$NF;$G$9!#(B
$BAk%W%m%0%i%_%s%0$rBN83$7$F$_$?$$$,6b$,$J$$$H$$$&>l9g$K$b!"(B
$BEjF~$9$k;~4V$r9M$($k$H(BVC++$B$rGc$C$?J}$,0B>e$,$j$+$b$7$l$^$;$s!#(B
$B!J$H$O$$$(!"I.
$B$"!"(BUNIX$B?($C$?$3$H$,$J$$$H$+!"%W%m%0%i%`=q$$$?$3$H$b$J$$$H$+!"(B
$B$=$&$$$&J}$K$O!J$=$&$G$J$/$F$b!)!K;`$L$[$IIT?F@Z$J%Z!<%8$@$H;W$$$^$9!#(B
$B$G$9$,!"<+J,MQ$N%a%b!\&A$G$9$N$G!"$3$NDxEY$,8B3&$G$9!#(B
$B0U8+!&
Borland C++ Compiler 5.5$B!J0J2<(Bbcc$B!K$H$$$&$N$O!"(B
Borland$B
Cygwin$B$H$$$&$N$O!"(BUNIX$B$N%7%9%F%`%3!<%k$r
$B:G=i$KN>
bcc$B$,L5NA$GG[$i$l$F$$$k$H$$$C$F$b!"E}9g4D6-$OAjJQ$o$i$:Gd$jJ*$G$9!#(B
$B%3%^%s%I%i%$%s$+$i;H$($k%3%s%Q%$%i!"%j%s%+$J$I0l<0$rG[$C$F$$$k$@$1$G!"(B
$B%j%=!<%9%(%G%#%?$d8+1I$($N$9$k%G%P%C%,$J$I$O$D$$$F$-$^$;$s!#(B
$B$=$&$$$&0UL#$G!"(Bgcc$B4D6-$H;w$?$h$&$J$b$N$G$9!#(B
$B2aEY$N4|BT$r$7$F$O$$$1$^$;$s!#(B
$B%f!<%6!<$,>/$J$$$;$$$J$N$G$9$,!"(B
bcc$B$b(BCygwin$B$b;qNA$,$[$H$s$I$"$j$^$;$s!#(B
web$B>e$K$"$k;qNA$O(BVC++$B$+(Bdelphi$B$N$b$N$P$+$j$G$9!#(B
SDK$B%l%Y%k$N%W%m%0%i%_%s%0$7$+$G$-$^$;$s!#(B
MFC$B$,;H$$$?$1$l$P(BVC++$B$,I,MW$G$9!#(B
bcc$B$G$bGd$jJ*$rGc$o$J$$$H(BOWL$B$d$i(BVCL$B$d$i$r;H$&$N$OL5M}$N$h$&$G$9!#(B
$B$"$^$j;H$C$F$$$J$$$G$9$,!"8+$F$/$l$,0-$9$.$^$9!#(B
"$BI=<((B"$B$H$+$G$9!#(B
Windows$B$N%W%m%0%i%`$@$HJ8;zNs$O(BSJIS$B$G=q$/$7$+$J$$$s$G$9$h$M!E!#(B
"$BI=(B\$B<((B"$B$H$+$d$l$P$&$^$/$$$-$^$9!#F1$8%=!<%9$O(Bbcc$B$G$bDL$j$^$9!#(B
$B$G$b$"$^$j$d$k5$$O$7$^$;$s!#(B
VC++$B$K$O(BANSI$B$K$J$$4X?t$,$+$J$j$"$j$^$9!#(B
VC++$B$N?M$OEvA3$N$h$&$K;H$C$F$$$^$9!#(B
bcc$B$O$+$J$jDI?o$7$F$$$k$h$&$G$9$,!"(B
Cygwin$B$K$O$J$$4X?t$,B?$$$G$9!#(B
$B$3$s$J46$8$G$7$g$&$+!#(B
$B2?$+I.
$B$3$N5-;v$G$O(BCygwin$B$N%D!<%k$r;H$&$3$H$r$+$J$jA0Ds$K$7$F$$$^$9!#(B
bcc$B$H!"(BWindows$BI8=`$N%D!<%k$@$1$G$bF1$8$3$H$,$G$-$k$O$:$G$9$,!"(B
$B$=$N:]$K$OE,59FI$_BX$($F$/$@$5$$!J(Brm$B$r(Bdel$B$H$9$k$J$I!K!#(B
$B$^$?!"(Bmake$B$r;H$C$?%W%m%0%i%`3+H/$N7P83$bA0Ds$K$7$F$$$^$9!#(B
$B;29M$^$G$KI.
$B$3$l0J30$N$b$N$r;H$C$F$b9=$$$^$;$s$1$I$M!JNc$($P!"(BLinux$B>e$G%/%m%9%3%s%Q%$%i$G3+H/$H$+!E!K!#(B
OS$B$O$G$-$k$@$1(BNT/2000$B$r;H$&$Y$-$G$7$g$&!#(B
95/98$B$O$?$@$G$5$(Mn$A$d$9$$$N$G!"(B
$B3+H/Cf$K%]%$%s%?<~$j$N%P%0$,$"$C$?$j$9$k$H$R$I$$L\$K2q$&$+$b$7$l$^$;$s!#(B
$B%3%s%Q%$%i$O!"(B
Borland C++ Compiler 5.5$B$K4^$^$l$k(Bbcc$B$+!"(B
Cygwin$B$K4^$^$l$k(Bgcc$B$r;H$$$^$9!#(B
Platform SDK$B$H$$$&$N$O!"(B
Microsoft$B$,G[$C$F$$$k3+H/
$B$3$NJ8>O$N:G8e$N(B$B%j%s%/=8(B$B$r;29M$K!"I,MW$J$b$N$r%@%&%s%m!<%I$7$^$7$g$&!#(B
bcc$B$O(B8M$BDxEY!"(BCygwin$B$O(Bsnapshot$B$r4^$a$F(B25M$BDxEY$G$9!#(B
Platform SDK$B$O%U%k%Q%C%1!<%8$G(B550M$BDx$"$j$^$9!#(B
$BI,MW$JItJ,$@$1%@%&%s%m!<%I$7$F$/$l$k%$%s%9%H!<%i$b$"$j$^$9$,!"(B
$B%X%k%W$@$1$G$b(B130M$BDx$"$j$^$9!#(B
$B@\B3>u67E*$K$I$&$7$F$bL5M}$J$i$"$-$i$a$^$7$g$&!#(B
$B%3%s%Q%$%i$@$1$"$l$P%3%s%Q%$%k$O$G$-$^$9!#(B
bcc$B$N(Breadme.txt$B$K=q$$$F$"$k$N$G$9$,!"(B
Borland C++Builder documentation site
$B$+$i%X%k%W$r$$$/$D$+
$B$^$:$OMn$H$7$F$-$?(Bfreecompiler.exe$B$r
$B$b$&D>$C$F$$$k$+$b$7$l$^$;$s$,!"I.
Cygwin$B$G(BUNIX$B$N%D!<%k$r%3%s%Q%$%k$G$-$k>uBV$K$J$C$F$$$l$P!"(B
Windows$B$N%W%m%0%i%`$b%3%s%Q%$%k$G$-$k>uBV$K$J$C$F$$$k$O$:$G$9!#(B
$B%$%s%9%H!<%k$7$F$$$J$1$l$P!">\$7$$%Z!<%8$r;2>H$7$?J}$,$$$$$G$7$g$&!#(B
$BF#;^$5$s$N(B$B!X(BCygwin$B>pJs!Y(B$B$+$i$"$A$3$A$KHt$s$G$_$k$H$$$$$+$b$7$l$^$;$s!#(B
2000/04/27$B$K(BCygwin 1.1$B$$$l$F$_$?$H$3$m!"$I$&$b(Bgdb$B$,F0$+$J$$!E!#$J$s$G$@$m!#(B
$B$=$l0J30$O$"$l$3$l2~A1$5$l$F$F%&%O%&%O$J$s$G$9$1$I!#(B
$B$H;W$C$?$i(Bw2k$B$G$@$1F0$+$J$+$C$?$_$?$$$G$9$M!#(B
2000/08/03$B$N;~E@$G$O!J$=$l$J$j$K!KF0$$$F$^$9!#(B
Cygwin1.1$B$K4X$7$F$OF|K\8l$N;qNA$,$^$@>/$J$$>u67$G$9$M!#(B
$BAaED$5$s$N(B$B!X(BCygwin 1.1 $B4D6-$N9=C[!Y(B$B$H(B
yzone$B$5$s$N(B$B!X(BCygwin 1.1 Information$B!Y(B$B$/$i$$$G$7$g$&$+!#(B
$BI.
$BI,MW$J$b$N$r>!
Microsoft$B$N(Bftp$B%5!<%P$+$i!"(B
$B:G?7$N(BPlatform SDK$B$N%G%#%l%/%H%j!JNc$($P(B April2000/$B!K(B
$B$N2<$rA4$F%@%&%s%m!<%I$7$F$-$?>l9g$d!"(B
MSDN$B$N(BPlatform SDK$B$r
$B=i$a$F(BWindows$B%W%m%0%i%_%s%0$r$9$kJ}$O!"(B
$BK\$d%&%'%V%Z!<%8$J$I$r;29M$K4hD%$C$F$/$@$5$$!#(B
MFC$B$G$X$m$X$m=q$$$F$$$k$b$N$O;29M$K$J$j$^$;$s!#(B
SDK$B$H$+(BAPI$B$H$+$$$&%-!<%o!<%I$r$?$h$j$KC5$7$F$/$@$5$$!#(B
$B$b$7$/$O!"(BPlatform SDK$B$N%X%k%W$@$1$G$b2?$H$+$J$k$+$b$7$l$^$;$s!#(B
$B
$BE,Ev$J%=!<%9$r=&$C$F$/$k$J$j!"<+J,$G=q$/$J$j$7$F!"%3%s%Q%$%k$7$F$_$^$7$g$&!#(B
$BE,Ev$J$b$N$,8+Ev$?$i$J$1$l$P(B$B$3$l(B$B$G$b$I$&$>!#(B
$B%3%s%Q%$%i$O(Bbcc32$B!"%j%=!<%9%3%s%Q%$%i$O(Bbrc32$B$+(Bbrcc32$B!"%j%s%+$O(Bilink32$B$H$$$&L>A0$G$9!#(B
bcc32$B$G$O!"(Bgcc$B$G$N(B-o$B!J%*%V%8%'%/%H%U%!%$%k$d
$B2<$N$h$&$K!"$U$D!<$K%3%s%Q%$%k$9$k$@$1$G$9!#(B
-e$B$H(B-o$B$OJQ$o$C$F$^$9$1$I!"(B
$BIaDL$O>JN,$9$k$N$G5$$K$J$i$J$$$H;W$$$^$9!#(B
-W$B%*%W%7%g%s$r$D$1$F%3%s%Q%$%k$9$l$P(BWindows$B%"%W%j$,$G$-$^$9!#(B
$B%j%=!<%9%3%s%Q%$%i$G(Bres$B%U%!%$%k$b:n$l$^$9!#(B
$B$?$@!"%j%=!<%9$r(Bexe$B$K$/$C$D$1$kJ}K!$,$o$+$j$^$;$s!#(B
brc32$B$G$G$-$k$O$:$@$H;W$&$s$G$9$1$I!E!#(B
$B8=:_$O%j%s%+$r6lO+$7$F;H$C$F$$$^$9!#(B
-WM$B$r$D$1$k$H!"(Bmt-safe$B$J%i%$%V%i%j$r%j%s%/$7$F$/$l$^$9!#(B
VC++$BF1MM!"(B_beginthread()$B$b;H$($^$9!#(B
Windows$B%"%W%j%1!<%7%g%s$N>l9g$K$O(B
$B$N$h$&$K!"(B-W$B$HN>J}$D$1$l$P(BOK$B$G$9!#(B
$B
DLL$B%U%!%$%kL>$N;XDj$O
$B%$%s%]!<%H%i%$%V%i%j$O!"(Bimplib$B%3%^%s%I$G:n$j$^$9!#(B
def$B%U%!%$%k$+$i:n$k$+!"$^$?$O(Bdll$B$+$i$$$-$J$j:n$j$^$9!#(B
def$B%U%!%$%k$,I,MW$J$H$-$K$O!"(B
impdef$B%3%^%s%I$G(Bdll$B$+$i(Bdef$B%U%!%$%k$r:n$k$3$H$,$G$-$^$9$,!"(B
$BIaDL$O(Bdef$B%U%!%$%k$r:n$kI,MW$O$J$$$G$7$g$&!#(B
$B%7%s%\%kL>$NJQ49%k!<%k$,0c$&$N$G!"(B
Cygwin$B$G:n$C$?(Bdef$B%U%!%$%k$,F1$8%G%#%l%/%H%j$K$"$C$?$j$9$k$H(B
$B!V(BAttempt to export non-public symbol '***'$B!W(B
$B$J$I$HJ86g$r$$$o$l$^$9!J$,!"%$%s%]!<%H%i%$%V%i%j$O@5$7$/$G$-$F$$$^$9!K!#(B
$B$=$N%$%s%]!<%H%i%$%V%i%j$r%j%s%/$9$l$P(BDLL$BFb$N4X?t$,;H$($^$9!#(B
$B0J2<$O(BGNU make$BMQ$N(BMakefile$B$G$9!#(Bbcc$B$K$D$$$F$/$k(Bmake$B$G$O$*$=$i$/F0$-$^$;$s!#(B
Cygwin$B$N%3%s%Q%$%i$O(Bgcc$B!J(Bg++$B$H$+(Bg77$B$r;H$&J}$,$$$F$b$$$$$G$9$,!K!"(B
$B%j%=!<%9%3%s%Q%$%i$O(Bwindres$B$H$$$&L>A0$G$9!#(B
$B%j%s%+$O(Bld$B$G$9$1$I!"(B
gcc$B$,>!
$B$U$D!<$N(Bgcc$B$G$9!#(B
-mwindows$B$r$D$1$F%3%s%Q%$%k$9$k$@$1$G$9!#(B
Cygwin$B$G2?$b9M$($:$K:n$C$?%P%$%J%j$O(Bcygwin1.dll$B$,$J$$4D6-$G$OF0$-$^$;$s!#(B
$B$=$l$8$c@^3Q%P%$%J%j$r:n$C$F$bG[$j$E$i$$$J$"!"$H;W$o$l$k$G$7$g$&$,!"(B
$B:G6a$N(BCygwin$B$O(Bmingw32$B$H$$$&%Q%C%1!<%8$r4^$s$G$*$j!"(B
-mwindows$B$K2C$($F(B-mno-cygwin$B$r$D$1$k$3$H$G!"(B
cygwin1.dll$B$J$7$GF0$/%P%$%J%j$r:n$k$3$H$,$G$-$^$9!#(B
$B>/$7F0:n$,JQ$o$C$?$j$7$^$9$1$I!"IaDL$O5$$K$J$i$J$$$O$:$G$9!#(B
$B%j%=!<%9%3%s%Q%$%i(Bwindres$B$N(Bsyntax$B$O!"(B
MS$B$N$b$N$H>/!98_49@-$,$J$$$N$G
printf$B%G%P%C%0$r$9$k$J$I!J>P!K$NM}M3$G!"(B
Windows$B%"%W%j$G%3%s%=!<%k$,M_$7$/$J$k$3$H$b$"$k$G$7$g$&!#(B
-mwindows$B$K2C$($F(B-Wl,--subsystem,console$B%*%W%7%g%s$r$D$1$l$P%3%s%=!<%k$,$G$-$^$9!#(B
$B$b$A$m$s!"$5$i$K(B-mno-cygwin$B$r$D$1$k$3$H$b$G$-$^$9!#(B
$BA4A3$o$+$C$F$^$;$s!#(B
$B:G6a$N(BCygwin$B$N%i%$%V%i%j$O(Bmt-safe$B$K$J$C$?$H$+$$$&OC$rM'?M$KJ9$$$?$N$G!"(B
pthread$B$N%W%m%0%i%`$O$5$/$C$HF0$/$N$+$b$7$l$^$;$s!#(B
$B$,!"(BVC++$B$N?MC#$,$h$/;H$&(B_beginthread()$B$OF0$+$J$5$=$&$G$9!#(B
DLL$B$O!"(Bdllwrap$B$G:n$j$^$9!#(B
$B$3$l$OL>A0$NDL$j(Bwrapper$B$G$9$,!"(B
gcc$B$H(Bdlltool$B$r2?EY$b8F$s$G$$$FM}2r$7$,$?$$$G$9!#(B
$B$^$:$O(B.def$B%U%!%$%k$r:n$j$^$9!#(B
$B:n$C$?(B.def$B%U%!%$%k$r;H$C$F!"(Bdll$B$r:n$j$^$9!#(B
$B%$%s%]!<%H%i%$%V%i%j$b(B.def$B%U%!%$%k$+$i:n$j$^$9!#(B
$B0J>e$r0l5$$K$d$k%3%^%s%I$,(B
$B$H$$$&$3$H$_$?$$$G$9!J:#$R$H$D$o$+$C$F$^$;$s!K!#(B
mingw32$B$J(BDLL$B$O!"(Bdllwrap$B$K(B'--target i386-mingw32'$B$r$D$1$F!"(B
'--driver-name=gcc -mno-cygwin'$B$H$9$l$P$G$-$^$9!#(B
$B$G$-$?%$%s%]!<%H%i%$%V%i%j$r(B
$B$H$$$&$h$&$K%j%s%/$9$l$P(BDLL$BFb$N4X?t$,;H$($^$9!#(B
$B$A$J$_$K!";29M$K$7$?;qNA$O(BMumit Khan$B$5$s$N(B
DLL Helpers$B$N(BREADME$B$G$9!#(B
$B$3$N?M$O$I$&$d$i(Bdllwrap$B$N:n
Platform SDK$B$K4^$^$l$k(Bspy$B$r;H$&$H!"Ht$s$G$$$k%a%C%;!<%8$r8+$k$3$H$,$G$-$^$9!#(B
$B<+J,$N%W%m%0%i%`$,;W$$DL$j$N%a%C%;!<%8$r=P$7$F$$$k$+$rD4$Y$?$j!"(B
$BB>$N%"%W%j%1!<%7%g%s$,$I$s$J%a%C%;!<%8$r$d$j$H$j$7$F$$$k$N$+$r3X$Y$?$j$H!"(B
$B$J$+$J$+M-MQ$J%D!<%k$G$9!#(B
$B$7$+$7!"(BVC++$BIUB0$N(Bspy++$B$KHf$Y$k$HHs>o$K;H$$$K$/$/!"(B
$B$b$&>/$7$J$s$H$+$J$i$s$+$C$?$N$+!"$H$$$&5$$,$7$^$9!#(B
Turbo Debugger$B$,0l1~;H$($k$_$?$$$G$9!#(B
$B3N$+$K(BGUI$B$G$O$"$k$s$G$9$,!"(B
NT$B%3%s%=!<%k%Y!<%9$H$G$b8@$&$N$G$7$g$&$+!"(B
$B$H$K$+$/%$%^%$%A$G$9!#(B
Platform SDK$B$K4^$^$l$k%G%P%C%,$b;H$($k$N$+$b$7$l$^$;$s$,!"(B
$B$h$/$o$+$j$^$;$s!#(B
gdb$B$,;H$($^$9!#(BSEGV$B$,Ht$s$G$-$?$h!"(B
$B$J$I$H8@$C$F$/$l$F(BUNIX$B5$J,$r4.G=$G$-$^$9!#(B
$B:G6a$O(BGUI$B$b$G$-$F$$$$46$8$G$9!#(B
$B%^%k%A%9%l%C%I%W%m%0%i%`$N%G%P%C%0$O$G$-$J$$$N$@$m$&$+!E!)(B
$B%3%s%Q%$%i$N@-G=$O$I$&$J$N$+!"D4$Y$F$_$^$7$?!#(B
$B0J2<$O!"(B$B$d$k5$$N$J$$%W%m%0%i%`(B$B$r%3%s%Q%$%k$7!"(B
time$B%3%^%s%I$G
bcc$B$O!"%G%U%)%k%H$G?'!9$J:GE,2=$,$5$l$F$7$^$&$N$G!"(B
$B:GE,2=$r$5$;$J$$$?$a$K$O(B-Od$B%*%W%7%g%s$r$D$1$J$/$F$O$J$j$^$;$s!#(B
bcc$B$N(B-4,-5,-6$B$O$=$l$>$l(B486,pentium,pentium pro$BMQ$N%P%$%J%j$rEG$/$N$G$9$,!"(B
386$BMQ$N%P%$%J%j$h$j$+$($C$FCY$/$J$C$F$7$^$C$F$$$^$9!#(B
-O2$BF1;N$G$J$i(Bbcc$B$NJ}$,B.$$%P%$%J%j$r:n$l$k$h$&$G$9!#(B
$B
lame$B$K$O(Bbcc$BMQ$N%"%;%s%V%j%3!<%I$,4^$^$l$F$$$^$;$s$N$G!"(B
$B>e$N7k2L$O$=$NJ,(Bbcc$B$KITMx$G$9!#(B
gcc$B$G$b!"(Bquantize-pvt.c$B$GF1$8%3!<%I$r;H$o$;$F$_$?$H$3$m!"(B
$B$H$J$C$F!"$d$O$j(Bbcc$B$NJ}$,CY$$$H$$$&7k2L$K$J$j$^$7$?(B
$B!J%=!<%9$rGD0.$7$F$$$k$o$1$G$O$J$$$N$G!"(B
$BB>$K$b(Bgcc$B$NJ}$,M-Mx$J8D=j$,$"$k$N$+$b$7$l$^$;$s!K!#(B
$B%3%s%Q%$%k%*%W%7%g%s$r$$$m$$$m;n$7$F$_$^$7$?$,!"(B
$B$"$^$jJQ$o$j$^$;$s$G$7$?!#(B
$BB>$N%"%W%j%1!<%7%g%s$G$b;n$7$F$_$?$$$H$3$m$G$9!#(B
gcc$B$G%(%G%#%C%H%3%s%H%m!<%k$r:n$k$H%4%_$,=P$k$h$&$J5$$,!#(B
$B$I$&$d$i(Bwindres$B$N%P%0!E$H$$$&$+(Bsyntax$B$,0c$&$h$&$@!#(B
brc32$B$G(Bres$B%U%!%$%k$r:n$C$F!"(B
windres$B$G(Bres$B$+$i(Bcoff$B$KJQ49$9$k$H$&$^$/$$$C$?!#$J$s$8$c$=$j$c!#(B
readme.txt$B$K=q$$$F$"$kDL$j$G$9$1$I!#(B
$Date: 2003/03/22 13:55:29 $
$B$O$8$a$K(B
$BI,MW$J$b$N(B
$B%@%&%s%m!<%I(B
$B%$%s%9%H!<%k(B
$B%W%m%0%i%_%s%0(B
$B%3%s%Q%$%k(B
$ bcc32 -c -otest.obj test.c
$ bcc32 -etest.exe test.obj
$ bcc32 -etest.exe test.c
$ bcc32 -W wtest.c
$ brcc32 -r wtest.rc
$ ilink32 c0w32.obj wtest.obj,wtest.exe,,cw32.lib import32.lib,,wtest.res
$ bcc32 -W -WM mttest-w.c
$ bcc32 -WD dlltest.c
$ implib dlltest.lib dlltest.dll
$ bcc32 usedll.c dlltest.lib
### Makefile.bcc
SRCS = hoegrara.c
OBJS = hogerara.obj
PROG = hogerara
RES = $(PROG).res
EXE = $(PROG).exe
CC = /apps/Borland/bcc55/Bin/bcc32
CFLAGS =
LD = /apps/Borland/bcc55/Bin/ilink32
LDFLAGS =
RC = /apps/Borland/bcc55/Bin/brc32
IPATH = /apps/Borland/bcc55/include
.SUFFIXES : .obj .c
.SUFFIXES : .res .rc
ALL: $(EXE)
clean:
rm -f $(RES) $(OBJS) $(EXE)
.c.obj:
$(CC) $(CFLAGS) -o$@ -c $<
.rc.res:
$(RC) -r -i$(IPATH) -fo$@ $<
$(EXE): $(OBJS) $(RES)
$(LD) c0w32.obj $(OBJS),$(EXE),,cw32.lib import32.lib,,$(RES)
$ gcc -o test.o -c test.c
$ gcc -o test.exe test.o
$ gcc -c wtest.c
$ windres -i wtest.rc -o wtest.coff
$ gcc -mwindows -o wtest.exe wtest.o wtest.coff
$ gcc -c a.c b.c c.c dllinit.c
$ dlltool --export-all --output-def app.def a.o b.o c.o dllinit.o
$ dllwrap --driver-name gcc --def app.def -o foo.dll a.o b.o c.o dllinit.o
$ dlltool --dllname foo.dll --def app.def --output-lib libapp.a
$ dllwrap --export-all --output-def app.def --implib libapp.a --driver-name gcc -o foo.dll a.o b.o c.o dllinit.o
$ gcc usedll.c -L. -lapp
### Makefile.gcc
SRCS = hogarara.c
OBJS = hogerara.o
PROG = hogerara
RES = $(PROG).coff
EXE = $(PROG).exe
CC = gcc
CFLAGS =
LD = gcc
LDFLAGS = -mwindows -mno-cygwin
# win app:
# -mwindows
# win app with console:
# -mwindows -Wl,--subsystem,console
# win app (which can be executed without cygwin1.dll):
# -mwindows -mno-cygwin
# win app with console (which can be executed without cygwin1.dll):
# -mwindows -mno-cygwin -Wl,--subsystem,console
RC = windres
.SUFFIXES : .o .c
.SUFFIXES : .coff .rc
ALL: $(EXE)
clean:
rm -f $(RES) $(OBJS) $(EXE)
.c.o:
$(CC) $(CFLAGS) -c $<
.rc.coff:
$(RC) -i $< -o $@
$(EXE): $(OBJS) $(RES)
$(LD) $(LDFLAGS) -o $(EXE) $(OBJS) $(RES)
$B%G%P%C%0(B
$B%Y%s%A%^!<%/(B
gcc: 4m33.463s
gcc -O2: 2m28.964s
bcc -Od: 3m35.329s
bcc: 2m34.252s
bcc -O2: 2m21.093s
bcc -O2 -4: 2m21.854s
bcc -O2 -5: 2m36.225s
bcc -O2 -6: 2m23.366s
LAME version 3.67 (www.sulaco.org/mp3)
GPSYCHO: GPL psycho-acoustic and noise shaping model version 0.77.
Using polyphase lowpass filter, transition band: 15115 Hz - 15648 Hz
Encoding ./hide/track_01.wav to ./hide/track_01.wav.mp3
Encoding as 44.1 kHz 128 kbps stereo MPEG1 LayerIII (11.0x) qval=5
Frame | CPU/estimated | time/estimated | play/CPU | ETA
13705/ 13705(100%)| 0:03:33/ 0:03:33| 0:03:34/ 0:03:34| 1.6801| 0:00:00
LAME version 3.67 (www.sulaco.org/mp3)
GPSYCHO: GPL psycho-acoustic and noise shaping model version 0.77.
Using polyphase lowpass filter, transition band: 15115 Hz - 15648 Hz
Encoding ./hide/track_01.wav to ./hide/track_01.wav.mp3
Encoding as 44.1 kHz 128 kbps stereo MPEG1 LayerIII (11.0x) qval=5
Frame | CPU/estimated | time/estimated | play/CPU | ETA
13705/ 13705(100%)| 0:02:08/ 0:02:08| 0:02:09/ 0:02:09| 2.7866| 0:00:00
LAME version 3.67 (www.sulaco.org/mp3)
GPSYCHO: GPL psycho-acoustic and noise shaping model version 0.77.
Using polyphase lowpass filter, transition band: 15115 Hz - 15648 Hz
Encoding ../../../hide/track_01.wav to ../../../hide/track_01.wav.mp3
Encoding as 44.1 kHz 128 kbps stereo MPEG1 LayerIII (11.0x) qval=5
Frame | CPU/estimated | time/estimated | play/CPU | ETA
13705/ 13705(100%)| 0:02:51/ 0:02:51| 0:03:00/ 0:03:00| 2.0980| 0:00:00
$B$[$+$K5$$E$$$?$3$H(B
$BIUO?(B
### .bashrc
export TZ=JST-9
export MAKE_MODE=UNIX
export TMP=/tmp
export TEMP=/tmp
export PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/X11R6/bin:/usr/X11R6/bin:/apps/Borland/bcc55/Bin:$PATH
export MANPATH=/usr/local/man:/usr/man:/usr/local/X11R6/man:/usr/X11R6/man
export XAPPLRESDIR=$HOME/lib/X11/app-defaults
if [ "$TERM" = "emacs" ] ; then
alias ls="ls -N"
alias dir='ls -laN'
PS1="\h:\w> "
else
alias ls="ls -N --color"
alias dir='ls -laN --color'
if [ -f $HOME/.dir_colors ] ; then
eval `dircolors -b $HOME/.dir_colors`
fi
PS1="\[\e[7m\]\h\[\e[m\]:\[\e[7m\]\w\[\e[m\] "
fi
if [ "$TERM" = "xterm" ] || [ "$TERM" = "kterm" ] ; then
xmodmap $HOME/.xmodmaprc.astec-x
fi
case `uname` in
CYGWIN_95* )
alias cddesktop='cd /windows/(IC^=8D/L_(B'
alias start='convexec -n/b,/d,/i,/min,/max,/separate,/shared,/low,/normal,/high,/realtime,/abovenomal,/belownormal,/wait,/\? start'
;;
CYGWIN_NT* )
alias cddesktop='cd /Documents\ and\ Settings/'$USERNAME'/$B%G%9%/%H%C%W(B'
alias start='convexec -v -n4 -i -n/b,/d,/i,/min,/max,/separate,/shared,/low,/normal,/high,/realtime,/abovenomal,/belownormal,/wait,/\? cmd /c start ""'
;;
* )
alias cddesktop='cd /windows/(IC^=8D/L_(B'
;;
esac
alias rehash='hash -r'
alias bcc=bcc32
alias brc=brc32
alias brcc=brcc32
alias ilink=ilink32
#alias bcc='PATH=/apps/Borland/bcc55/Bin:$PATH bcc32'
#alias bcc32='PATH=/apps/Borland/bcc55/Bin:$PATH bcc32'
#alias brc='PATH=/apps/Borland/bcc55/Bin:$PATH INCLUDE="c:\apps\Borland\bcc55\include" brc32'
#alias brc32='PATH=/apps/Borland/bcc55/Bin:$PATH INCLUDE="c:\apps\Borland\bcc55\include" brc32'
#alias brcc='PATH=/apps/Borland/bcc55/Bin:$PATH INCLUDE="c:\apps\Borland\bcc55\include" brcc32'
#alias brcc32='PATH=/apps/Borland/bcc55/Bin:$PATH INCLUDE="c:\apps\Borland\bcc55\include" brcc32'
#alias ilink='PATH=/apps/Borland/bcc55/Bin:$PATH ilink32'
#alias ilink32='PATH=/apps/Borland/bcc55/Bin:$PATH ilink32'
-I"c:\apps\Borland\bcc55\include"
-L"c:\apps\Borland\bcc55\lib"
-L"c:\apps\Borland\bcc55\lib"
$B%j%s%/=8(B
hanawa<y@hnw.jp>