                                                   XVtF 2004 N 5  27 
 Sun[tm] Studio 9A C++ RpC Readme 

     ڎ

       A. ͂߂ 
       B. Sun Studio 9AC++ RpC 5.6 ɂ 
       C. VKѕύXꂽ@\ 
       D. \tgEFȀC 
       E. _Ɖ 
       F. ƌ̖݊ 
       G. Lq̌̒ 
       H. Cu̍Ĕzzɂ 
       I. Ή̌dl 



     ------------------------------------------------------------------

     A. ͂߂

     ̕ɂ́ASun[tm] Studio 9AC++ 5.6 RpCɊւ񂪋L
     ڂĂ܂B̕ł́ÃRpCo[W 5.6  
     C++ RpCƕ\L܂B̃[XœꂽV@\A\tg
     EFȀCAm̖_AA̖݊ɂĐ
     ܂B܂A{̋Lړe̓\tgEFA}jȀXV
     [܂B

     i}jA 

        * [Xm[g (Solaris vbgtH[): 
          http://docs.sun.com \łB[Xm[g̏́A
          ei Readme t@C̏ɗD悵܂B 
        * Sun Studio 9 ̃hLg: ĩ}jAy[WAREADME 
           HTML o[WAу}jÁA
          installation_directory/SUNWspro/docs/ja/index.html ANZ
          Xł܂BftHg̃CXg[fBNg /opt łB
          index.html ̃y[W玟̃}jAɃANZXł܂B 
             o C++ FAQ 
             o C++ [U[YKCh 
             o C++ ڍs Readme 
             o C++ ڍsKCh 
             o W C++ CuENXt@X / Standard C++ 
               Library Class Reference (p) 
             o W C++ CuE[U[YKCh 
             o Tools.h++ 7.1.0 Readme 
             o Tools.h++ [U[YKCh 
             o Tools.h++ NXCuEt@X}jA 
             o ԉZ Readme 
             o C++ ԉZvO~Ot@X / C++ Interval 
               Arithmetic Programming Reference (p) 
             o wCu Readme 
             o sCu Readme 
             o lvZKCh 
             o CN^J[ Readme 
             o CC(1) ̃}jAy[W 
             o 3C++ }jAy[W (W C++ Cu) 
             o 3CC4 }jAy[W (݊[hCu) 
        * J (IDE) ̃hLg: IDE ɂuwvv
          j[ Sun Studio 9 IDE ̊eR|[lg̃ICw
          vɃANZXł܂B 
        * JҌ\[X̃|[^: ZpATvR[hAh
          LgAibWx[XɂẮAJҌ|[^ 
          http://developers.sun.com/prodtech/cc QƂĂB 

     ̃̕eLXgł\ɂ́AR}hvvgŎ̃R}
     h͂܂B

                CC -xhelp=readme

     ̕ HTML ł\ɂ́AftHg̃CXg[fBN
     gɂ鎟̃t@CJ܂B

     file:/opt/SUNWspro/docs/index.html

      - Sun Studio 9 \tgEFA /opt ȊÕfBNgɃCX
     g[Ăꍇ́Agp̃VXeɂۂ̃pXAVX
     eǗ҂ɊmFĂB
     


     ------------------------------------------------------------------

     B. Sun Studio 9AC++ RpC 5.6 ɂ

     ̃[X C++ RpĆASPARC (R); vbgtH[ 
     Solaris[tm] Iy[eBO̃o[W 8A9A10  x86 
     vbgtH[ Solaris Iy[eBO̃o[W 8A9A
     10 ŗpł܂B

      o[W 5.6  C++ RpĆAo[W 5.0  5.5 
      C++ RpC̃\[XR[hуoCiR[hƏ݊łB
     Ȃ킿AC++ 5.6 RpCgpāAo[W 5.0A5.1A5.2A
     5.3A5.4A5.5  C++ RpCpɍ쐬ꂽ\[XR[hRp
     Cł܂B܂Ao[W 5.0 - 5.5  C++ RpCɂ
     ꂽIuWFNgR[h C++ 5.6 RpCŐꂽIu
     WFNgR[hƃNł܂BNꍇ́AɍŐṼRp
     CA܂荡̃[Xło[W 5.6 gpĂB

     C++ 5.6 RpCɂ́AC++ 4.2 RpCpɍ쐬ꂽ\[XR[
     hRpC邽߂ -compat IvVpӂĂ܂B
     -compat IvV́Ao[W 5.0 瓱ꂽIvVłB
     


     ------------------------------------------------------------------

     C. VKѕύXꂽ@\

     ł́Ã[X C++ RpCɐVɒǉꂽ@\ƕ
     Xꂽ@\܂B̑ Sun Studio 9 R|[lgɂ
     ẮAwSun Studio 9 ̐V@\xQƂĂB̃}jA
     ɃANZXɂ́Ahttp://docs.sun.com Ɉړ܂B

        * -xarchA-xcodeA-xmemalignA -xprefetch IvṼf
          tHgύXA-O IvV̓WJ̕ύXɂptH[}X
          ̌

        * x86 A[LeN` -xarchA-xtargetA -xchip ̃t
          Oǉ

        * -xprefetch_auto_type  -sync_stdio IvVǉ
          ƂɂsptH[}X̌

        * -xchip  -xtarget ̃tO̒ǉɂ SPARC ̃T|[g
          g

        * -xautoparA-xvectorA -xdepend ɂ郋[v̍œK 

        * -xpch ł̃vRpCς݃wb_[t@C̎ɂ
          RpCptH[}X̌

        * ftHgł extern CC֐̃T|[gƁA-xrestrict 
          IvVɂ鐧t|C^̔F

        * #pragma opt w߂ -xmaxopt IvVɂœKx
          ̐

        * -xustr IvVɂ UTF-16 Ch̃T|[g

     -xarch ̃ftHg v8plus ɕύX 

     C++ RpCR[h𐶐Ƃ̃ftHg̃A[LeN`A
     v8plus (UltraSPARC) ɂȂ܂B̃[XŁAv7 ̃T|[g
     ͔p~\łB

     VftHgł́AݎgpĂقڂ}VŎs
     ̃ptH[}Xサ܂BAUltraSPARC ȑÕRs[
     ^ւ̔zӐ}AvP[V́ARs[^ł
     ftHgœ삵ȂȂ܂BAvP[VR
     s[^œ삷悤ɂɂ́A-xarch=v8 ŃRpCĂ
     B

     v8 VXeɔzꍇ́AeRpCR}hsłȂA
     ̃NR}hł -xarch=v8 IvV𖾎IɎw肷Kv
     ܂B񋟂̃VXeCúAv8 A[LeN`œ삵
     ܂B 

     v7 VXeɔzꍇ́AeRpCR}hsłȂA
     ̃NR}hł -xarch=v7 IvV𖾎IɎw肷Kv
     ܂B񋟂̃VXeCúAv8 ߃Zbg𗘗p܂B
     Sun Studio 9 [X̏ꍇAv7 ɂăT|[gĂIy[
     eBOVXéASolaris 8 [XłBv8 ߂o
     ꍇASolaris 8 Iy[eBOVXe̓\tgEFAł̖
     ߂܂B̂߃vO͎s܂AptH[}X
     ቺ܂B

     x86 vbgtH[̏ꍇA-xarch ̓ftHg generic ɂȂ
     Bx86 vbgtH[ł́A-fast  -xarch=native ɓWJ
     ƂɒӂĂB 

     -xarch ̏ڍׂ́AC++ }jAy[W CC(1)  wC++ [U[Y
     KChxQƂĂB

     x86 vbgtH[ -xarchA-xtargetA-xchip ̃tOǉ

     C++ RpCA-xarchA-xtargetA -xchip p̐VtO
     T|[g悤ɂȂ܂B̐VtÓAx86 vb
     gtH[ł Solaris \tgEFAɂ sse  sse2 ߂
     T|[gƂ̑gݍ킹 Pentium 3  Pentium 4 `bvp
     邱ƂӐ}Ă܂BVIvV͎̂ƂłB

        * -xchip=pentium3  Pentium 3 ̃vZbTpɍœK܂
        * -xchip=pentium4  Pentium 4 ̃vZbTpɍœK܂
        * -xtarget=pentium3 ́A-xarch=sseA-xchip=pentium3A
          -xcache=16/32/4:256/32/4 ɐݒ肵܂B 
        * -xtarget=pentium4 ́A-xarch=sse2A-xchip=pentium4A
          -xcache=8/64/4:256/128/8 ɐݒ肵܂B 
        * -xarch=sse ́Apentium_pro ߃Zbg SSE ߃Zbgǉ
          ܂B 
        * -xarch=sse2 ́ASSE 閽߃Zbg SSE2 ߃Zbg
          ǉ܂B 

          x86 ɊւL

          Solaris x86 SSE/SSE2 Pentium 4 ݊vbgtH[œ삷
          悤 -xarch={sse | sse2} tăRpCvÓA
          SSE/SSE2 Ή̃vbgtH[ł̂ݎsKv܂B
          SSE/SSE2 ɑΉĂȂvbgtH[łvO
          sƁAZOgOAIȌxb
          Z[WȂɕsȌʂ肷邱Ƃ܂BSSE/SSE
          2 ŃRpCꂽoCi SSE/SSE2 ɑΉĂȂv
          bgtH[Ŏs邱Ƃ̂Ȃ悤ɂ邽߂ OS 
          уRpCɑ΂pb`A񋟂\܂B

          Pentium 4 ݊vbgtH[̏ꍇASolaris 9 update 6 ȍ~
           OS [X SSE/SSE2 ɑΉĂ܂BÕo[
          W Solaris OS  SSE/SSE2 ɑΉĂ܂B

          ̂Ƃ́A.il CCAZu֐gpĂv
          OASSE/SSE2 ߂𗘗pĂ __asm() AZu
          R[hɂĂ͂܂܂B

          RpCƃNʁXɍsꍇ́AKRpCg
          NA-xarch={sse | sse2} œK؂ȋN[`N
          悤ɂĂB

     ۂ̃RpC̓K؂ -xchipA-xtargetA -xarch Iv
     V̑gݍ킹́ÃKChCɊÂČ肷邱Ƃł
     ܂B

        * Solaris 9 update 6 AȑO Solaris s 
          Pentium 3 ܂ Pentium 4 ō\zsA-fastA-xarch=nativeA
          ܂ -xtarget=native w肷邩ǂB

          ̏ꍇARpĈ͎悤ɓWJ܂B

             o Solaris 9 update 5 ܂͂ȑO Solaris Iy[
               eBOVXéASSE  SSE2 ߂T|[gȂ
               ߁A-xarch  pentium_pro ɐݒ肳܂ (pentium3 
               邢 pentium4 ł͂܂)B

               : ̃o[W Solaris \tgEFAgp
               邩ǂɊ֌WȂA-xarch=sse 邢 -xarch=sse2
               w肷邱Ƃł܂ASolaris 9 update 6 ȍ~ OS
               [X SSE  SSE2 ߂T|[gĂ邽߁A
               \zŐꂽs\t@ĆAo[W
               Solaris \tgEFA삵Ă}VŎsKv
               ܂B

             o -xchip ́AKX pentium3 ܂ pentium4 ɐݒ肳܂B
             o -xcache ́APentium 3 vZbT̏ꍇ 16/32/4:256/32/4A
               Pentium 4 vZbT̏ꍇ 8/64/4:256/128/8 ɐݒ肳
               B

          Solaris 9 update 6 ȍ~ Solaris s Pentium 3 ܂
          Pentium 4 ō\zsA-fastA-xarch=nativeA܂ 
          -xtarget=native w肷邩ǂB

          ̏ꍇARpĈ͎悤ɓWJ܂B

             o -xarch ́APentium 3 ̏ꍇ sseA Pentium 4 ̏ꍇ sse2 
               ɐݒ肳܂B 
             o -xchip ́AKX pentium3 ܂ pentium4 ɐݒ肳܂
             o -xcache ́APentium 3 vZbT̏ꍇ 16/32/4:256/32/4A
               Pentium 4 vZbT̏ꍇ 8/64/4:256/128/8 ɐݒ肳
               B 

     -xarchA-xtargetA -xchip ̏ڍׂ́AC++ }jAy[W 
     CC(1)  wC++ [U[YKChxQƂĂB

     -O ̓WJύX 

     (SPARC  x86) -O }ŃA-xO2 ł͂ȂA-xO3 ɓWJ
     ɂȂ܂B

     ̃ftHg̕ύXɂāAs̃ptH[}Xサ܂B
     AϐI volatile ƌȂƂOɂv
     ȌꍇA-xO3 ͕sK؂ɂȂ邱Ƃ܂B̂ƂO
     Ƃ\IȃvOƂẮAp̓foCX
     hCoÂ}`XbhAvP[V܂B́A
     -O ł͂ȂA-xO2 găRpC邱ƂłB

     -O ̏ڍׂ́AC++ }jAy[W CC(1)  wC++ [U[YKC
     hxQƂĂB

     -xprefetch ̃ftHgύX 

     (SPARC ̂) -xprefetch ̃ftHg -xprefetch=auto,explicit 
     Ȃ܂B{Iɔ`̃[ANZXp^[Av
     P[Vɂ́A̕ύXǂȂe炵܂B̕ύX
     ɂɂ́A-xprefetch=no%auto,no%explicit w肵܂B

     -xprefetch ̏ڍׂ́AC++ }jAy[W CC(1)  wC++ [
     U[YKChxQƂĂB

     -xmemalign ̃ftHgύX 

     (SPARC ̂) v8 A[LeN`̏ꍇA-xmemalign  -xmemalign=8i 
     ɂȂ܂Bv9 A[LeN`̏ꍇ́AftHg -xmemalign=8s 
     łB

     -xmemalign ̏ڍׂ́AC++ }jAy[W CC(1)  wC++ [U
     [YKChxQƂĂB

     -xcode ̃ftHgύX 

     (SPARC ̂) v9 ̏ꍇAftHg -xcode=abs44 łBv8 ̏ꍇ
     ́A-xcode=abs32 ̂܂܂łBx86 vbgtH[ł́A-xcode ̓T
     |[g܂B 

      -- V9 ̏ꍇALCũR[hŁAftHg 
     -xcode=abs44 ͎gpł܂B̂悤ȋLCu̍\źA
     ĔzuG[Ŏs܂BRpCł́A-xcode=abs64 gp
     A-xcode=pic13  -xcode=pic32 Ȃǂ̈ʒuƗR[h𐶐I
     vVgpKv܂B

     -xcode ̏ڍׂ́AC++ }jAy[W CC(1)  wC++ [U[Y
     KChxQƂĂB

     -xchip  -xtarget ̃tOǉ 

     (SPARC ̂) -xchip  -xtarget IvVAlƂ 
     ultra3i  ultra4 T|[g悤ɂȂ܂B̂߁A
     UltraSPARC IIIi  UltraSPARC IV pɍœKꂽAvP[
     V\zł܂B 

     extern CC֐ 

     C++ Kił́Astatic 錾ȂACC֐͔CC
     ֐̂悤ɊOP[WƂɂȂĂ܂BC++ ł́A5.6 
     ɂȂď߂āAftHgŃCC֐ɊOP[W
     悤ɂȂ܂BCC֐COŐKv
      (Ƃ΁ÃAhXKvȏꍇȂ)ARs[ 1 
     IvOɃN܂BȑÓARs[KvƂIuWFN
     gt@CAꂼꃍ[JP[Wp̃Rs[
     ܂B

      extern CC֐̎@́AvO̓͏]Ɠ
     lɋKiɓKĂAȑÕRpCo[Wɂč쐬
     oCit@Cƌ݊܂BÂoCi̓CC֐
     ̃[JRs[𕡐Ă邱Ƃ܂AVR[hł́A
     extern CC֐̃Rs[́Aő 1 ɂȂ܂B

      extern CC֐̎@́Ã[XɊ܂܂Ă
     C 5.6 RpCgp C99 ł̃CC֐ƌ݊
     BȂ킿Aextern CC֐Ɋւ C  C++ Kɏ]
     ƂɂāACC֐ C  C++ t@C̗
     `łȀꍇłAŏIvOł̊O֐̃Rs[ 1 
     ɂȂ܂B

     ARpC̊Ԃɂ́ACC֐CC֐T
     |[gAȂ킿ACC֐ɊO`񋟂邱Ƃ C 
     ꂪF߂ĂƂ_Ō̖݊肪 1 ܂BC++ 
     ́Â悤ȊTO͂܂B̂߁A 2 ̃CC
     @݂ĂƁAJ[G[ɂȂ܂B̗ōlĂ݂
     B 

     // t@C a.h
     #ifdef __cplusplus
     extern "C" {
     #endif
     inline int f() { return 1; }
     #ifdef __cplusplus
     }
     #endif
     
     // t@C b.c
     #include "a.h"
     int g() { return f(); }

     t@C b.c ̃CC֐ f ́ACC֐̃T|[g𖾎
     ĂȂ֐ɂăT|[g܂B

     // t@C c.c
     int f() { return 1; }

     ȉɎ悤ɁA C++ ł f  c.c ݂ƁA`d
     Ă邱ƂG[AJ[Ԃ܂B 

     // t@C d.cc
     #include "a.h"
     int h() { return f(); }

     ̉́A֐ f CC֐T|[gĂ邱Ƃ C 
     RpCɒm点邱ƂłBc.c ̎̎gp܂B 

     // t@C c.c
     #include "a.h"
     extern inline int f();

     -xautoparA-xvectorA-xdepend ɂ郋[v̍œK 

     C++ RpCAvZ̕񉻂\ȃ[vœK邽߂̎
     IvVT|[g悤ɂȂ܂B̃IvV́A
     -xO3 ȏ̍œKxŎgpKv܂B 

        * -xautopar 
        * -xvector 
        * -xdepend 

     ڍׂ́AC++ }jAy[W CC(1)  -xautoparA-xvectorA
      -xdepend ̐ǂ݂B

     |C^Ɋւ -xrestrict ̐ 

     C++ ́AC99 œꂽ restrict L[[hT|[gĂ܂B
     A C++ RpCł́AC RpC̃IvV 
     -xrestrict 󂯕t悤ɂȂĂ܂B

     ̃IvV́ARpCɊ֐ɊւāA|C^^̊֐p
     [^AIuWFNgA܂̓I[o[bvIuWFNg
     QƂĂȂƂ݂Ȃ܂B̂Ƃ̓wb_[t@Cɒ`
     CC֐ɂ͓Ă͂܂ȂƂAC  C++ ł
     ƂȂ܂B

     ڍׂ́AC++ }jAy[W CC(1)  -xrestrict ̐ǂ
     B

     #pragma opt  -xmaxopt œKx̐ 

     #pragma opt w߂ƃR}hsIvV -xmaxopt gݍ킹āA
     RpCX̊֐ɓKpœKxw肷邱Ƃł
     B

     ̑gݍ킹́AƂ΁AX^bNt[̍폜Ȃǂ̃R[hg
     邽߂ɁÅ֐ɂčœKxA邢
     ̋tɁÅ֐ɂčœKxグ肷Kv
     ɗLpłB

     ڍׂ́AC++ }jAy[W CC(1)  -xmaxopt ̐ǂ݂
     B

     VIvV -xprefetch_auto_type ɂsptH[}X
      

     VIvV -xprefetch_auto_type 𗘗p邱ƂɂāA
     [ANZXɑ΂ăvtFb`̂Ɠ@ŁA
     -xprefetch_level=[1|2|3] w郋[vɑ΂ĊԐڃvtFb`
     𐶐邱Ƃł܂B

     -xalias_level Ȃǂ̃IvVƑgݍ킹ƁA
     -xprefetch_auto_type ̍œK̃bg𑝂Ƃł܂B
     ̃IvV̓[ʖ̂܂r𐶐
     ɖ𗧂߁AԐڃvtFb`̌vZ̐ϋɐɉeAI
     ԐڃvtFb`̑}𑣐i܂B

     -xprefetch_auto_type ̏ڍׂ́AC++ }jAy[W CC(1)  
     wC++ [U[YKChxQƂĂB

     VIvV -sync_stdio ɂsptH[}X̌ 

     C++  iostreams  C  stdio ̓AsptH[}X
     ̒ቺ̌ 1 ł邱Ƃ܂B C++ Ki
     ͕K{ŁAftHgł́ARpC͂Lɂ܂B
     A̓́A-sync_stdio=no w肷邱ƂɂĖɂ
     邱Ƃł܂B

     -sync_stdio IvV̏ڍׂ́AwC++ [U[YKChx CC(1) 
     ̃}jAy[WQƂĂB܂Ả̖ɂ
     ẮAwC++ FAQxQƂĂB

     -xustr ɂ UTF-16 ̃T|[g 

     UTF-16 񃊃ẽT|[ǵAo[W 5.5  C++ RpC
     œ܂B̃[Xł́A U"x" \Ɏ 
     U'x' \gp UTF-16 eT|[g悤ɂȂ
     Ă܂BUTF-16 eFł悤ɂɂ́A 
     -xustr IvVKvłB

     ̃[Xł͂܂AUTF-16 ̕ѕ񃊃e̐lG
     XP[vT|[gĂ܂B́Aʏ̕ѕ񃊃e
     ̐lGXP[vɎĂ܂Bȉɗ܂B 

         U"ab\123ef" //  8 i\
         U'\x456'    //  16 i\

     ڍׂ́AC++ }jAy[W CC(1)  -xustr ̐QƂĂ
     B

     -xpch ɂvRpCς݃wb_[t@C̎ 

     ̃[X C++ RpCł́AvRpCς݂̃wb_[@
     \gARpC̑ŃvRpCς݃wb_[t@C
     Iɐł悤ɂȂĂ܂BA܂łǂAv
     RpCς݃wb_[t@C蓮Ő邱Ƃł܂B R
     pC̐V@\̏ڍׂ́ACC(1) ̃}jAy[W -xpch I
     vV̐QƂĂB܂ACCadmin(1) ̃}jA
     y[WQƂĂB
     


     ------------------------------------------------------------------

     D. \tgEFȀC

     ł́Ã\tgEFȀCɂĐ܂B

       1. TCY̑傫 10 i萔̓K؂ȉ 
       2. :܂ȕ\ : RXgN^Ăяo܂͊֐ւ̃|C
          ^ 
       3. Solaris 8 update 2 уpb`ɂ __ctype `G[
          ̏C 
       4. -instance=static  -instance=semiexplicit ƃev[g
          ̐ÓIϐ̃T|[g 
       5. ֐Ƀ[JȐÓIϐɑ΂ extern CC֐̓
          ̈Ⴂ 
       6. ev[g̍\G[̌o 

       1. TCY̑傫 10 i萔̓K؂ȉ

          C++ Kił́Aڔ̂Ȃ 10 i萔́Al int Ɏ܂
           intAłȂꍇ long int ƂĈƂȂĂ܂B
          Al long int ɂ܂Ȃꍇ̌ʂ͒`Ă
          B

          32 rbg[h̏ꍇA^ int  long ̃TCYуf[^
          ͓͂łBC++ RpC 1990 C Ki̋Kɏ]āA
          INT_MAX+1  LONG_MAX ͈̔͂̒l unsigned long ƂĈ
          ܂Bꕔvvł́Äŗ\Ȃ
          Ă܂B

          1999 C Kił́Aڔ̂Ȃ 10 iɊւ邱̋KύX
          Aunsigned ^ƂĈȂȂ܂B^́AintAlongA
          long long ̂̍ŏɒl\^ɂȂ܂B

          W[hł́AC++ 5.6 ͂ C99 Kɏ]܂A
          -compat=4 [hł͂܂łǂ C90 ̕ɋKɏ]܂B
          (-compat=4 [hł́ARpC C++ 4.2 RpĈ悤
          ɓ삵܂B)

          TCY̑傫 10 i unsigned ƂĈꍇ̈ڐA
          \ȉ́Au ܂ U ڔgp邱ƂłB̑
          ^ɂAꂼڔgp邱Ƃł܂Bȉɗ
          ܂B

                  // note:2147483648 == (INT_MAX+1)
                  2147483648     // (signed) long long
                  2147483648LL   // (signed) long long
                  2147483648U    // 2147483648u Ɠ

       2. :܂ȕ\ : RXgN^Ăяo܂͊֐ւ̃|
          C^

          C++ ł́AƂ͐錾Ɖ߂ꂽA܂Ƃ͎Ɖ
          ߂\镶܂BC++ ̂܂rKł́A
          镶錾Ƃ݂ȂƂłꍇ́A͐̕錾Ƃ
          邱ƂɂȂĂ܂B
          ȑÕo[W̃RpCł́Â悤Ȏĉ
          Ă܂B

              struct S {
                S();
              };
              struct T {
                T( const S& );
              };
              T v( S() );    // ???

          ̃vO}͂炭AŌ̍s S ^̈ꎞIȒlŏ
          ϐ v `łBȑÕo[W̃Rp
          ĆÂ̕悤ɉ߂Ă܂B

          A錾ReLXg̃RXgNgA"S()" ́A"S ^
          l߂p[^̂Ȃ֐" Ӗ钊ې錾q (ʎq
          Ȃې錾q) Ƃ݂ȂƂł܂B̎ł́A֐|
          C^A"S(*)()" ɎIɕϊĂ܂B͂̕܂A
          l T ^ŁAp[^֐|C^^̊֐ v ̐錾Ƃ
          ĂLłB

          ݂ł̓RpC߂悤ɂȂ̂ŁÃv
          O}Ӑ}悤ɂȂȂ\܂B

          ܂ɂȂȂ悤ɃR[hCɂ́A 2 ʂ̕
          @܂B

              T v1( (S()) );  // v1 ́AIuWFNg
              T v2( S(*)() ); // v2 ́A֐

          1 sڂ 1 ΂̗]Ȋʂ́Av1 ̍\֐錾ƂĂ͕s
          ł̂ŁA"S ^̈ꎞIȒlŏ T ^̃IuWFN
          g" ƂӖɂ߂ł܂B

          lɁARXgNgA "S(*)()" ͒lƂ͍lȂ̂ŁA
          ֐錾̈Ӗɂ߂ł܂B

          ŏ̍śÂ悤ɏƂł܂B

              T v1 = S();

          Ӗ͊SɖmɂȂ܂Ȁݒ̌`ł́Aʏ
          łȂƂ͂AꎞIȒlƂĔɑ傫Ȓl
          邱Ƃ܂B

          ̂悤ɃR[fBÔ͂߂ł܂B ̗ŔA
          ӖsmŁARpCقȂƌʂقȂ\
          łB

              T v( S() ); // Ȃ

       3. Solaris 8 update 2 уpb`ɂ __ctype `G[
          ̏C

          Solaris 8 Iy[eBOVXeɖ肪A<stdlib.h> 
          MB_CUR_MAX gpƁAC++ RpCu__ctype ͒`
          Ă܂vƂG[Ԃ邱Ƃ܂B

          ̃oÓASolaris 8 update 2 Iy[eBOVXeŏC
          ܂B́ASolaris pb` 109607-01 (SPARC)A
          109608-01 (x86) łCĂ܂B

          ̃Abvf[gł܂̓pb`CXg[ĂȂꍇA
          ̖ɂ́Awb_[ <stdlib.h> CN[h
          OɕWwb_[ <ctype.h> CN[hĂB

       4. -instance=static  -instance=semiexplicit ƃev[g
          ̐ÓIϐ̃T|[g

          ȑÕo[W C++ RpCł́Aev[g̐ÓI
          ɑ΂ÓICX^X\bhƔICX^X
          \bhT|[gĂ܂łBo[W 5.2 - 5.6 
          C++ RpCɂ́A̐͂܂B

       5. ֐Ƀ[JȐÓIϐɑ΂ extern CC֐̓
          ̈Ⴂ

          ARM Kł́Aextern CC֐̊֐Ƀ[JȐÓIϐ
          ̓t@Cɑ΂ĐÓIłBISO Kił́Aextern CC
          ̊֐Ƀ[JȐÓIϐ́ARpCjbgԂŋL
          O[oϐłB

          o[W 5.0  5.1  C++ RpCł́A݊ 
          (-compat) ѕW (ftHg̃[h) ̂ǂ̃[h
           ARM ̓삪Ă܂Bɑ΂Ao[W 5.2A
          5.3A5.4A5.5A 5.6  C++ RpCł́A݊[h
          ARM ̓AW[h ISO ̓삪Ă܂Bȉ
          ̗܂B

          one.cc
          
              inline int inner() { 
                static int variable = 0; return variable++; 
              }
              int outer() { return inner(); }
          
          two.cc
          
              inline int inner() { 
                static int variable = 0; return variable++; 
              }
              int main() { return inner() + outer(); }

          ݊[h (-compat) ŃRpCꍇA 2 ̕ϐ
          قȂAmain ̌ʂ 0 ɂȂ܂B

          W[h (ftHg[h) ŃRpCꍇ́A 2
          ̕ϐɂȂAmain ̌ʂ 1 ɂȂ܂BW[h
          ŌÂɂɂ́ACC֐ static ɐ錾܂B

       6. ev[g̍\G[̌o

          ̃ev[g̍\͕słASun C++ 4  5.0 ł́A
          G[ɂȂ܂łBo[W 5.1 - 5.6  C++ Rp
          Cł́AW[h (ftHg̃[h) ̃RpCŁA\
          G[Ƃĕ񍐂܂B

            template<class T> class MyClass<T> { ... }; // `G[
            template<class T> class MyClass<T>;         // 錾G[

          ǂ̏ꍇAuMyClass<T>v́u<T>v͕sŁA̗Ɏ
          悤ɍ폜Kv܂B

            template<class T> class MyClass { ... }; // `
            template<class T> class MyClass;         // 錾
     


     ------------------------------------------------------------------

     E. _Ɖ

     ł́A܂łɂ킩Ă\tgEFA̖_Ƃ̉
     Đ܂BŐV܂̓pb`ɂẮA
     http://developers.sun.com/prodtech/cc/support_index.html 
     QƂĂB 

        1. -instances=static  -xipo ܂ -xcrossfile ƁA
           NɎs 
        2. Oς݂ .i t@CRpCG[𐶐 
        3. ԃNG[ 
        4. N̖O̖ 
        5. fobOc[Ao[֐ɗ]Ȑsp[^
           ƂbZ[WԂ 
        6. Ił͂ȂOԂ̃IuWFNgev[gQƂ
           Ȃ 
        7. Oԓ #pragma align ƕ 
        8. ֐̑d`̉ 
        9. փXbhgp}`XbhΉ C++ vÓA
           Solarais 8 ŃfobOƃnOAbv 

        1. -instances=static  -xipo ܂ -xcrossfile ƁA
           NɎs

          ev[gIvV -instances=static (܂ -pto)  
          -xcrossfile  -xipo IvVƑgݍ킹ƁA@\܂B
          ̑gݍ킹gpvÓANɎs邱Ƃ
          悭܂B

          -xcrossfile ܂ -xipo IvVgpꍇ́AftH
          g̃ev[gRpCf -instances=global gp
          ĂB

          ʂɁA-instances=static ( -pto) ͎gȂłB
          gbg͂łɂȂAˑRƂāAwC++ [U[YKC
          hxŐĂfbg܂B

       2. Oς݂ .i t@CRpCG[𐶐

          __global ́AV xldscope RpCIvV̈ꕔƂ
          C++ 5.5 ŒǉꂽL[[hłBOς݂ .i t@C
          ÂRpCgpĐAĂ .i t@C
          o[W 5.5 ܂ 5.6 ŃRpCꍇ́A .i t@C
          ŃL[[h __global ʎqƂĎgpĂƁAG
          [bZ[W\邱Ƃ܂B 

          ̖ɂ́A.i t@C̐擪 
          #pragma disable_ldscope ǉĂB̃R[hÂ
          RpCΏۂƂĂꍇAVJ[XR[sOL
          [[h (__global Ȃ) ͎gpł܂Bق̃t@C
          CN[hꍇ́A.i t@C̍Ō 
          #pragma enable_ldscope Ƃsǉł܂B

       3. ԃNG[

          -xlang=f77 R}hsƁARpCvZXɃ
          J[G[܂BG[ƂƂɓK؂Ȏs
          CuCN[hɂ́A -xlang=f77,f90 
          s܂B

       4. N̖O̖

          ̏ꍇɁANɖ肪邱Ƃ܂B

             o const p[^tŐ錾Ă֐Aʂ̏ꏊ 
               const p[^ȂŐ錾ĂB 

               :

                 void foo1(const int);
                 void foo1(int);

               ̐錾͓łARpC͈قȂ镄t
               ܂B̖ɂ́Al̃p[^ const 
               ƂĐ錾ȂłBƂ΁A֐`̖{̂Ȃ
               ̂ꏊ void foo1(int); gp܂B

               ֐ɓ^̃p[^ 2 Ãp[
               ^ typedef Ő錾ĂB 

               :

                 class T;
                 typedef T x;
                 // foo2 ͕^ (|C^܂͔z)
                 // p[^^
                 void foo2(T*, T*)
                 void foo2(T*, x*);
                 void foo2(x*, T*);
                 void foo2(x*, x*);

               ׂĂ foo2 錾͓ŁA͓l:w ɕ
               Kv܂BARpC͈ꕔɈقȂ
               sȂĂ܂B̖ɂ́Aт 
               typedef gp܂B

               typedef тĎgpłȂꍇ́AƂāA֐
               `Ăt@C weak V{gpA錾Ƃ
               ̒`𓙉ɂ܂Bȉɗ܂B

               #pragma weak "__1_undefined_name" = "__1_defined_name" 

                -- ꕔ́̕A^[QbgA[LeN`ɂ
               قȂ܂BƂ΁A size_t  SPARC V9 A[LeN`
               ł unsigned long łAȊÕA[LeN`ł́A
               unsigned int łB́A2 ̈قȂo[W̕
               ꂼ 1 ̃fɑ݂P[XłB
               悤ȏꍇ́A2 ̃vO}pӂAK؂ #if w߂
               䂷Kv܂B

          ڍׂ́AwC++ ڍsKChxQƂĂB̃}jA
           HTML łɃANZXɂ́AuEU 
          file:/opt/SUNWspro/docs/ja/index.html J܂B

           -Sun Studio 9 \tgEFAA/opt ȊOɃCXg[
          Ăꍇ́A gp̃VXeɂۂ̃pXAVXe
          Ǘ҂ɊmFĂB

       5. fobOc[Ao[֐ɗ]Ȑsp[^
          ƂbZ[WԂ

          ݊[h (-compat=4) ł́AC++ RpC̓o[֐w
          |C^̃N𐳂܂B̃G[̂߁A
          vOсA dbx  c++filt Ȃǂ̃fobOc[
          Ao[֐ɗ]Ȑsp[^ (o[֐
          ĂNX^Cv) ƕ񍐂܂B̖
          ɂ́A-Qoption ccfe -abiopt=pmfun1 tOǉ܂B
          AʂɁÃtOgpă\[XRpCƁA
          ̃tOȂŃRpC\[XƂ̊Ԃ̃oCix
          ݊邱Ƃ܂BW[h (ftHg[h)
          ł́A̖͋N܂B

       6. Ił͂ȂOԂ̃IuWFNgev[gQƂ
          Ȃ

          vOŃev[gƐÓIIuWFNggpĂƁA
          `V{̃NG[܂B݃RpĆA
          IłȂOԃXR[ṽIuWFNgɑ΂ev[
          g̎QƂT|[g܂B̗ōlĂ݂ĂB

          static int k;
          template<class T> class C {
                  T foo(T t) { ... k ... }
          };

          ̗ł́Aev[gNX̃o[͐ÓIȖOԃX
          R[vϐQƂ܂BOԃXR[v̓t@CXR[v
          ܂ނƂɒӂĂBRpĆAÓIȖOԃX
          R[vϐQƂev[gNX̃o[T|[g
          ܂B̃RpCPʂev[gCX^X
          ƁAeCX^X͈قȂ k QƂ܂B ܂AC++
          ODR (One-Definition Rule) ᔽAR[h͒`Ă
          ȂN܂B

          [U[́Ak ǂ̂悤ɎgpAk ɂĂǂ̂悤
          ʂ𓾂ɂƂÂAɎ֕@{ł܂B2 
          Ԗڂ̃IvV́ANX̃o[̊֐ev[gɂ̂
          gpł܂B 

            1. ϐɊOP[W 

               int k; // ÓIł͂Ȃ

               ׂẴCX^X́Ak ̓Rs[gp܂B 
            2. ϐNX̐ÓIo[ɂ 
               template<class T> class C {
                       static int k;
                       T foo(T t) { ... k ... }
               };      
               ÓIȃNXo[͊OP[W܂B
               C<T>::foo ̃CX^Xgp k ͂ꂼقȂ
               BC<T>::k ̃CX^X́Å֐ŋL邱Ƃ
               ܂Bʏ͂̃IvVgp܂B 
            3. ϐ֐ɑ΂ă[Jɂ
               template<class T> class C {
                            T foo(T t) { static int k; ... k ... }
               };
               e C<T>::foo ̃CX^X́A֐̊O͌Ȃ
               Ǝ k ̃Rs[gp܂B 

       7. Oԓ #pragma align ƕ

          Oԓ #pragma align gpꍇ́Agp
          Kv܂BƂ΁ÃR[hł́A#pragma align 
          ͉̓܂B̖ɂ́A#pragma align 
           aAbA c ꂼ̕ɒuKv
          ܂B

            namespace foo {
              #pragma align 8 (a, b, c) // LłȂ
              // gp:
              #pragma align 8 (__1cDfooBa_, __1cDfooBb_, __1cDfooBc_)
              static char a;
              static char b;
              static char c;
            }

          8.֐̑d`̉

          C++ RpC̈ȑÕ[Xł́AC++ W̗vɏ]Ċ
          ̑d`̉s܂łB̃[Xł́A
          d`ꂽ֐̌ĂяoāÃoOCĂ
          ܂BɁARpĆAĂяoۂɂ܂ȏꍇ͊
          sbLOAۂɂ͂łȂꍇɂAĂяo
          ܂łƕ\肷ꍇ܂B

          ܂ł邱ƂbZ[WɊւɂ́Asv
          ̂܂BȑOɂ͕񍐂ȂA܂ɊւV
          G[Ă܂B

          ܂Ȋ֐Ăяo̎Ȍ 1 ́Agݍ݌^̃TuZ
          bgɂd`邱ƂłB
             
          int f1(short);
          int f1(float);
          ...
          f1(1); // ܂B "1"  int ^
          f1(1.0); // ܂A"1.0"  double ^

          ̖Cɂ́Af1 đd`ȂA邢
          gȂׂĂ̌^ (intAunsigned intAlongAunsigned 
          longAdouble) őd`s܂ (long longAunsigned long 
          longA  long double ^ꍇ܂)B
           1 ̎Ȍ̓NXɂ^ϊ֐ŁAɑd`
          ꂽZq݂ꍇłB

          class T {
          public:
                  operator int();
                  T(int);
                  T operator+(const T&);
          };
          T t;
          1 + t // ܂

          ̉ŹÂ悤ɉł̂ŁA܂ł

          T(1) + t     // d`ꂽZq
          1 + t.operator int()    // gݍ݂ int ǉ

          d`ꂽZq܂͌^ϊ֐gpł܂Ag
          pƁA܂Ɣf܂B

          ہA^ϊ֐̂̂́A܂ƔfꂽAӐ}
          ꏊŕϊ肷邱Ƃтт܂Bϊ
          LɂKvꍇ́A^ϊ֐ł͂ȂOt֐
          gpĂBƂ΁Aoperator int(); ̑ 
          int to_int(); gp܂B

          ̕ύXɂAZq 1 + t ͂܂ł͂ȂȂ܂B
          T(1) + t Ƃ߂ł܂Bق̉߂Kvȏꍇ́A
          悤ɋLqKv܂B 

          1 + t.to_int().

       9. փXbhgp}`XbhΉ C++ vÓA
          Solarais 8 ŃfobOƃnOAbv

          /usr/lib/lwp/ ɂփXbhCugpč\zA
          }`XbhΉ C++ vÓASolari 8 Iy[
          eBOVXeŃfobO悤ƂƁAnOAbv܂B
          -R /usr/lib/lwp RpCIvVō\z 32 rbg}
          `XbhΉ C++ vÓAdbx ŎsƃnOAb
          v܂B-R /usr/lib/lwp/sparcv9 RpCIvVō\z
           64 rbg}`XbhΉ C++ vÓAs
          sȂĂꍇɂ͓ɁAnOAbv\
          B

          ̌ۂ́AC++ R[hW (ftHg) [h (-compat=5
          RpCIvVgp) RpCꍇɋN
          B ݊[h (-compat RpCIvVgp) R
          pCꍇɂ͋N܂B 

          ptH[}X̖ړIɑփXbhCu̎gpl
          Ă̂ł΁A܂AftHg̃XbhCugp
          āA}`XbhΉ̃vOfobOAփXb
          hCúǍŎgpĂB

          ̖́ASolaris 8 ł̂ݔ܂B
     


     ------------------------------------------------------------------

     F. ƌ̖݊

     ł́AуVXe܂͂̑̃\tgEFAƂ̌݊
     ̖ɂĐ܂BSun Studio 9 [X̍ŐVɂ
     ẮAhttp://docs.sun.com \ȃ[Xm[gmFĂ
     B[Xm[g̏́Aei Readme t@C̏ɗD
     悵܂B

       1. -xia  -library=stlport4 ̖̌݊

          C++ ԉZ@\ STLport C++ CuƂƂɎgp邱
          ͂ł܂B-xia IvVgpvÓAwC++ 
          Interval Arithmetic Programming Referencex̐ǂɃR
          pCуN邱Ƃł܂B 

       2. C++ LCũpb`

          eΉvbgtH[ɂāÃ[X Sun Studio 9
          ŃT|[g Solaris Iy[eBO̃o[WƂ
          SUNWlibC pb` 1 pӂĂ܂B̃pb`́ARp
          CɎgpVXełȂA쐬ꂽvOғ
          邷ׂẴVXeɃCXg[Kv܂B
          ̃pb`CXg[ȂƁAꕔ̃vON
          ȂAsG[ňُI肷邱Ƃ܂B
          Ƃ΁AJ[玟̂悤ȃbZ[W񍐂邱Ƃ
          ܂B

          Undefined symbol                           First referenced
                                                     in file
          std::ostream
          &operator<<(std::ostream&,const RWCString&)test.o

              ld: fatal: Symbol referencing errors.No output written to test
          ̂悤ȃG[bZ[WԂ邱Ƃ܂B

              Hint: try checking whether the first non-inlined, 
              non-pure virtual function of ... 
                
           Sun Studio 9 [Xp̕K{єCӃpb`ɂẮA
          Sun Studio 9  Web TCgA
          http://developers.sun.com/prodtech/cc/support_index.html Q
          ƂĂB 

       3. RpC̃o[WԂ̖̌݊

          ł́AC++ RpCo[W 4.0A4.1A4.2 ƎɎ
          o[WԂ̖̌݊ɂĐ܂B

                  o Sun WorkShop C++ (5.0) RpC 
                  o Forte Developer 6 C++ (5.1) RpC 
                  o Forte Developer 6 update 1 C++ (5.2) RpC 
                  o Forte Developer 6 update 2 C++ (5.3) RpC 
                  o Forte Developer 7 C++ (5.4) RpC 
                  o Sun Open Net Environment (Sun ONE) Studio 8 
                    C++ (5.5) RpC 
                  o Sun Studio 9 (5.6) RpC 

            a. LbVo[ẄႢɂRpCG[ 
            b. C++ C^tF[X̖̌݊ 
            c. Tools.h++ ̎gp 
            d. ̃ev[g|Wg̎gp -ptr IvV
                
            e. const o[֐̃|C^܂ 4.0.1 CuƂ
               N 
            f. ȑÕRpCŃRpCCuƂ̃N 
            g. قȂo[WŐꂽIuWFNgR[h̍ 
     
            a. LbVo[ẄႢɂRpCG[

               RpCύXƂ́AK SunWS_cache TufB
               Ng܂ނׂẴfBNgɑ΂ CCadmin -clean 
               (rm -rf SunWS_cache ł) sĂ B̑
               sȂƁÂ悤ȃRpCG[邱
               ܂B

                  + SunWS_cache: Error: Database version mismatch
                    <path>/SunWS_cache/CC_version.
                  + "<path>/SunWS_cache/CC_state",
                    line 3: Error: "" not allowed here. ** Assertion **
                    : 0 
               
            b. C++ C^tF[X̖̌݊

               o[W 5.0 ` 5.6  C++ RpCƃo[W 4.0A
               4.1A 4.2  C++ RpCƂ̊ԂɃoCix
               ̌݊͂܂ (5.0 - 5.6 ̃RpCɂRp
               C -compat IvVgpꍇ)B́A
               ANSI/ISO C++ Kiɒ`Ădlɍ킹āANX
               ̔zuĂяȍAO̕@ύXꂽ
               łB

               o[W 5.0 - 5.6  C++ RpCɂ́AoCix
               ̌݊܂B

               ڍׂ́AwC++ ڍsKChxQƂĂB̃}j
               A HTML łɃANZXɂ́AuEU 
               file:/opt/SUNWspro/docs/ja/index.html J܂B
               Solaris vbgtH[̏ꍇAftHg̃CXg[
               fBNǵA/opt łBSun Studio 9 \tgEFA 
               /opt ȊÕfBNgɃCXg[Ăꍇ́A
               gp̃VXeɂۂ̃pXAVXeǗ҂Ɋm
               FĂB

            c. Tools.h++ ̎gp

               C++ RpĆAftHgŕW iostream gp
               BTools.h++ W[hŎgpꍇ́A
               -library=rwtools7_std IvVgp邩A܂͎
               悤ɁARpCIvV libiostream w肷
               Kv܂B

               example% CC -library=rwtools7_std foo.cc -> W iostreams gp
               example% CC -library=rwtools7_std foo.cc -> ] iostreams gp

               A(-compat RpCIvVgp) ݊
               [hł́AWCugpłȂ߁A
               -library=rwtools7_std w肷邱Ƃ͂ł܂B

               example% CC -compat foo.cc -library=rwtools7 -> ݊[hł͕WCugpłȂ
               
               -library=rwtools7A-library=rwtools7_dbgA
               -library=rwtools7_stdA܂-library=rwtools7_std_dbg  
               -library=stlport4 ƂƂɎgpȂłB
               Tools.h++  STLport ł̓T|[gĂ܂B

               -library=rwtools7_std IvV 
               -library=rwtools7,iostream IvVŐꂽoCi
               ԂɌ݊͂܂B̃IvVǂꂩgp
               ꍇ́ARpCуN̂ CC R}h
               œIvVgpĂB

               ܂AwC++ ڍsKChxQƂĂB̃}jA
                HTML łɃANZXɂ́AuEU 
               file:/opt/SUNWspro/docs/ja/index.html J܂B
               Solaris vbgtH[̏ꍇAftHg̃CXg[
               fBNǵA/opt łBSun Studio 9 \tgEFA 
               /opt ȊÕfBNgɃCXg[Ăꍇ́A
               gp̃VXeɂۂ̃pXAVXeǗ҂Ɋm
               FĂB

            d. ̃ev[g|Wg̎gp -ptr IvV
                

                -- ftHgł̃ev[g|Wg̍쐬͔p~
               ܂BRpCɃ|Wg쐬ɂ́AI
                -instances=extern w肷Kv܂B

               5.0 O C++ RpCł́A-ptr IvVgp
               āAev[g̃CX^XɎgp郊|Wgw
               肵Ă܂Bo[W 5.0 - 5.6  C++ RpC
               ́A-ptr IvV͕svłB ́ARpCVXe
               AǂݎIuWFNgt@CɑΉev[g
               |WgɊ܂܂Ăev[gCX^XACC 
               R}hŎw肳ꂽo͐fBNg̃|Wgɏ
               ނ߂łB

               -ptr IvV́A 5.5 C++ RpCŔp~܂B
               RpĆA-ptr IvV𖳎܂BIvV
               ƂĂAׂẴRpCR}h -ptr
               ͍폜ĂĂB ̗ŔÃ[XŁA
               ʂ̓s -ptr Ď\邽߂łB

                -- ̃AvP[V⃉CůԂ 1 
               ev[g|WgL邱Ƃ́AȑOł܂
               BL悤ƂƁARpCsȂ
               Ȁꍇ́Aev[gĒ`āAs
               \łȂʂ܂Bڍׂ́AwC++ [U[YKC
               hxQƂĂB

               ̃}jA HTML łɃANZXɂ́AuEU 
               file:/opt/SUNWspro/docs/ja/index.html J܂B
               Solaris vbgtH[̏ꍇAftHg̃CXg[
               fBNǵA/opt łBSun Studio 9 \tgEFA 
               /opt ȊÕfBNgɃCXg[Ăꍇ́A
               gp̃VXeɂۂ̃pXAVXeǗ҂Ɋm
               FĂB

            e. const o[֐̃|C^܂ 4.0.1 CuƂ
               N

               C++ 4.0.1 RpC const o[֐̃|C^ɑ
               Đ镄́Ao[W 4.1A4.2A5.0 - 5.6 
                C++ RpCeƂ͈قȂ܂BC++ R
               pCgpĂāA4.0.1 ō\zꂽA܂
               CuƃNłȂꍇ́ÃCuăR
               pC邩A-compat -Qoption ccfe -abirel=4.0.1 tO
               w肵āAvO̎c蕔RpCKv
               ܂B 

                -- ̃[Xł -abirel=4.0.1 IvṼT
               |[gp~\܂B

            f. ȑÕRpCŃRpCCuƂ̃N

               C++ 4.0.1  C++ 4.1 RpCł́Aextern "C" ֐
               ŃCX^Xꂽev[gɑ΂āA͕s\
               Ă܂BāAfobOc[
               삵܂łB̖͉܂A
               ꕔ[U[Ao[W 5.0 - 5.5  C++ RpC
               ŃRpCIuWFNgo[W̃RpC
               RpCCuƃNłȂƂ̕񍐂
               B̖͂܂ɂ܂񂪁Aꍇ́A
               ̂ǂ炩sȂĂB

                  + Sun Studio 9 C++ (5.6) RpCgpăCu
                    ăRpC邩A邢 
                  + -compat  -Qoption ccfe -abirel=4.1 tOg
                    pāASun Studio 9 C++ (5.6) RpCŐVI
                    uWFNgRpCB 

                -- ̃[Xł -abirel=4.1 tÕT|[g
               p~\܂B

            g. قȂo[WŐꂽIuWFNgR[h̍

               ݊[hƕW[h̃R[h݂ĂȂA
               Ȃo[W C++ RpCŐIuWFNg
               R[h𓯂vOɍ݂邱Ƃł܂BA
               ŏIvÕNɂ́ApĂRpC̒
               ōŐṼo[WgpKv܂B

                -- o[W 4.2 ŐR[hƕW[h C++ 
               R[hN邱Ƃ͂ł܂B
     


     ------------------------------------------------------------------

     G.Lq̌̒

     _ł͐V͂܂B
     


     ------------------------------------------------------------------

     H.Cu̍Ĕzzɂ

        * s\t@CÃt@CɎꂽT̓ICu
          KvƂꍇ́ACZXɂƂÂāÃCu
          Ĕzzł܂B

             /opt/SUNWspro/READMEs/ja/runtime.libraries 

           - Sun Studio 9 \tgEFA /opt ȊÕfBNg
          CXg[Ăꍇ́Agp̃VXeɂۂ
          pXAVXeǗ҂ɊmFĂB 

          ǂ̂悤Ȍ`ԂłAwb_[t@CA\[XR[hAIuWF
          NgW[AIuWFNgW[̐ÓICuO
          ҂ɔztAJ邱Ƃ͂ł܂B

          gpCZX́ACD-ROM ̃P[X̗ʂɂGh[U[I
          uWFNgR[hCZXɋLڂĂ܂B

        * libCstd  (܂) libiostream ̋LCuo[
          Wgpꍇ́A 2 ̃IvV܂B 
            1. iƂ SUNWlibC pb`zz܂B ܂ 
            2. JX^} http://www.sunsolve.sun.com ̂悤ȃT 
               Web TCgŐV SUNWlibC pb`_E[hK
               v܂B̃pb`͖ŁAxłzz\łB

          ]ǂACuÓIɃNꍇ́AȊÕA
          NVANZXKv܂BقȂo[W̃Iy
          [eBOVXeł̃vǑ݊mFɂ́A
          LCuɃN܂B
     


     ------------------------------------------------------------------

     I. Ή̌dl

        * C++ RpC (CC) ́AC++AISO IS 14882:1998AvO~
          O C++  ISO KiɑΉĂ܂B̃[Xł̓T
          |[gĂȂ ISO Ki̗ṽXgŐ܂B

             o ̂悤ȁA֐ev[g̊֐p[^Xg
               ev[ǧ^łȂp[^܂ގ 

               template<int I> void foo(mytype<2*I> ) { ... }

             o ev[gp[^ev[g (ȃev[g
               p[^ƂẴev[g)

             o ėp

             o ev[gRpC̃GNX|[gf

        * C++ RpČs[XƋ[X̃oCi݊
          邽߁Aꕔ libCstd @\Ă܂B 
          file:/opt/SUNWspro/docs/ja/index.html  C++ FAQ Ɋւ郊
          N𒲂ׂĂBSolaris vbgtH[̏ꍇAftH
          g̃CXg[fBNǵA/opt łBSun Studio 9 \t
          gEFA /opt ȊÕfBNgɃCXg[Ă
          ́Agp̃VXeɂۂ̃pXAVXeǗ҂
          mFĂB 
     


     ------------------------------------------------------------------

     Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
     Use is subject to license terms.
