y.NETz C++/CLI É ..
451:ftHg̼³µ³ń
06/01/03 14:54:46
.NETĮÄgĮ½±ĘČ¢©ēęŖ©ēČ¢ń¾ÆĒA
źxRpCµ½ąĢšAƶZL
eB[āēČńāēĢŻčĢźĶ
LbV
µÄØ¢½RpCĻŻĢR[hšÄp·é±ĘĮÄoČ¢ĢH
ńńAvZXN®Ģ½ŃÉRpCµÄéĢĮÄoJݽ¢¶įĖH
452:ftHg̼³µ³ń
06/01/03 15:02:06
LbV
³źéµngeną éµ
453:ftHg̼³µ³ń
06/01/03 19:56:52
>>451ĮÄoJݽ¢¶įĖH
454:ftHg̼³µ³ń
06/01/04 12:32:46
>>453
½¾A¶ÓC¾¼B (Ģ߯½¶Ģ߯
455:ftHg̼³µ³ń
06/01/07 13:19:01
vOĢ æ±æ©ēåŹÉANZX·é¶ń^šA
¢æ¢æUnicode¶Ģzń©ēgcnew·éĢĶąĮ½¢Č¢ĘvĮÄ
ē©¶ß¶¬µÄØ¢½System::StringšO[oɱĘÅšµę¤©Ęv¢Üµ½B
ŖAŹÉāĮ½ēRpCÉ{ēź½ĢÅsöėĢŹČŗĢę¤ÉµÄŻÜµ½B
iStringDataĶSystem::StringšåŹÉ¶¬µÄi[·éNXj
StringData^* gpStringData;
int main(array<System::String ^> ^args)
{
@StringData^ stringData = gcnew StringData();
@gpStringData = &stringData;
iČŗCj
}
िåĮĘsVĢę³°Čū@Ȣŷ©ĖH
456:ftHg̼³µ³ń
06/01/07 13:55:09
±¤H
value struct StringData {
initonly static String^ A = L"AAA";
initonly static String^ B = L"BBB";
initonly static String^ C = L"CCC";
};
int main()
{
String^ a = StringData::A;
String^ b = StringData::B;
return 0;
}
457:455
06/01/07 13:56:25
²ßń±ĢÖń«QlɵĩȚ
URLŲŻø(www.microsoft.com)
458:455
06/01/07 14:07:15
>456
”ńĢźĶA±æēĢū@ĢŁ¤Ŗę³°Å·Ė
čŖĘ¤²“¢Ü·
459:ftHg̼³µ³ń
06/01/09 01:03:13
½Ę¢¤©AĻŌIĘ¢¤©BÜA»źŖC++ĢdzÅĶ Į½ķÆ
¾ÆźĒB±źÅĶ ÜčÉąRpCx_©¹¾cĀ£zÉB
460:ftHg̼³µ³ń
06/01/09 07:55:52
C++/CLI štÉĄÅ«éRpCx_ĮÄA
MSČOÉ éĢ©ĖH
Ę©vĮĽēA g++ ŖĪµ½ē©ČčĮB
mcs ĘĢ·éĘ©B
461:ftHg̼³µ³ń
06/01/09 12:07:26
·¢Ü¹ńBæāŖ čÜ·Blibpng.libČĒšpµ½ĢĢCušC++/CLIÅgØ¤Ęµ½ēA
RpCÉ
libpng.lib(pngerror.obj) : error LNK2019: ¢šĢOV{ __iob ŖÖ _png_default_error ÅQƳźÜµ½B
libpng.lib(pngrutil.obj) : error LNK2001: OV{ "__iob" Ķ¢šÅ·B
Ę©¾ķźÜµ½BC++/CLIĮÄ_iobŖg¦Č¢ńŵ天H
ĒȽ©šū@š²¶¶ĢūA³¦Ä¾³¢B
462:ftHg̼³µ³ń
06/01/09 14:18:44
CĢWCulinkµÄéH
463:ftHg̼³µ³ń
06/01/09 14:32:49
ECMA-372ĮÄISOÉČéʫɹeŖĻX³źéĀ\«Ę© éH
ECMAĶKiŖöJ³źé©ē¢¢ÆĒISOͼ®Īްݾ©ē³B
464:ftHg̼³µ³ń
06/01/09 14:57:32
źAmscoree.lib msvcrt.lib msvcrtd.libĶNµÄ¢Ü·B
ĘAd”ĘG[ŖÅéĢÅAlibcmt.libĶN³µÄ¢Ü·B
JĀ«ĶVC++ 2005 Express+PlatFormSDKÅ·B
Win32vWFNg¾Ęlibpng.libšÜńÅąRpCĶŹéĢÉA
CLRvWFNg(C++/CLI)¾Ę¤Üs«Ü¹ńEEE
VC++ 2005Ģstdio.hÉ_iobŖč`³źÄ¢Č¢ĢŖāčČĢŵ天H
(ÖWČ¢©ąµźČ¢ÆĒ)
465:ftHg̼³µ³ń
06/01/09 17:50:19
libpngš\[X©ēģč¼µ½Ł¤Ŗ¢ęB
zlibĘlibpngĢ\[XšDLµÄdswĘ©slnĘ©šJ¢Ärh·é¾ÆB
āĮ½ēWindows tH[AvĢvWFNgÉāčČg¦½B
ml.exeŖVCExpressÉĶČ¢ĢÅ$(MSVS8)\VC\binÉRs[µÄرĘB
466:ftHg̼³µ³ń
06/01/09 18:49:06
čŖĘ¤²“¢Ü·I
µÄŻÜ·B
467:ftHg̼³µ³ń
06/01/09 20:48:36
>463
ECMA ©ē ISO Éń³ź½dlͽ¾ÅöJµÄ¢éę
468:ftHg̼³µ³ń
06/01/09 21:05:35
>>467
Ö„A čŖĘ¤
469:ftHg̼³µ³ń
06/01/19 07:08:22
value struct B
{
literal System::String^ var = L"abcd";
literal System::String^ var2 = var+L"1212";
};
var2ÅG[Ŗoéń¾Ŗ...¾ßČĢ©B(®^intĘ©¾Ęåäv¾Į½ń¾ÆĒ...)
e f[^ oĢś»qĶčwöÅČÆźĪČčܹń
470:ftHg̼³µ³ń
06/01/19 07:57:19
literal System::String^ var2 = var + "1212";
Ķm©ÉG[ÉČéĖB“ą”m©ßÄŻ½B
literal System::String^ var2 = "abcd" + "1212";
±źÅ௶G[ÉČéBĒĶ + ZqšÄńÅé©ē¾ė¤ČB
literal System::String^ var2 = "abcd" "1212";
ČēG[ÉČēČ©Į½B
Ę¢¤ķÆÅA}Ng¦BĮıƾĘv¤B
471:469
06/01/19 09:37:44
>>470
literal System::String^ var2 = var;
Åą¾ßݽ¢B
static ctorÅĢś»ŖeÅ«éČē
literal -> static initonly ÉĻX·é©A}Nɷ鵩ȢŷĖ...
URLŲŻø(msdn2.microsoft.com)(en-US,VS.80).aspx
472:ftHg̼³µ³ń
06/01/19 11:48:55
ÓŽ£ initonly ČńÄĢą éĢ©B
ʱėÅAVisual Studio 2005 ¢¶ĮÄÄvĮ½ń¾ÆĒA
C# Éä×čįt@N^OČń©Ģ_Å
C++/CLI ͵¢É¢Ęv¤ń¾ęB
ČĢÅŁĘńĒĢŖĶ C# Å©¢Äéń¾ÆĒA
ǤµÄą C++/CLI Å«½¢Ŗą éB
C++/CLI Å¢½R[hĘ C# Å¢½R[hĢ
ŻAgĮÄĀ\ČĢ©ČH
ļĢIÉĶAZpÖAĢvZšāéC++Ģ©ģCuA
\åKĶČmŖ·ÅÉ éBGUI šĀÆé½ßÉ
”ÜÅĶvZŹšoCit@CÉʵÄA
»źš C# ÅģĮ½Ā»c[ÅĒŻńŽB
¾ÆĒC^NeBuɵ½¢ńÅ C++/CLI g¦Ī
¢¢©ČĘvĮ½ń¾ŖA”ÜÅ C# ÅģĮ½GUIŖĘ
C++Å¢½vZŖĶ C++/CLI ńūéĢ©ĘB
473:ftHg̼³µ³ń
06/01/19 12:08:38
C++ĢvZpDLLšC#©ēg¦Ī¢¢¾Æ¶įń
474:ftHg̼³µ³ń
06/01/19 12:12:25
>>472
”ÜÅĶ C++ -> COMoR -> C#
±ź©ēĶ C++ -> C++/CLI
.NETÅĶ C++/CLI <=>C#
475:ftHg̼³µ³ń
06/01/19 12:18:13
>>473 C++ČvZCuĢūĶANXÖĢQĘš
óÆęĮÄŹš»ĢÉŌ·ńÅ·ŖA»źÅą
ĀÅ·©H\[XńŖī{ĢCu¾Į½ńÅA
DLL»Ę©ĶµÄČ©Į½ńÅ·ŖAµÄŻÜ·B
476:ftHg̼³µ³ń
06/01/19 12:26:53
>>475
ref^CvÅČ¢ŹĢNXĶrefNXÅbv·éKvŖ éB_CNgÉĶn¹Č¢B
477:ftHg̼³µ³ń
06/01/19 13:41:47
>NXÖĢQĘšóÆęĮÄŹš»ĢÉŌ·
Ā\¾ėB
478:ftHg̼³µ³ń
06/01/22 14:20:10
QĘNXšlNXÉĻ··é
templateĶpÓ³źÄ¢éĢŵ天H
479:ftHg̼³µ³ń
06/01/26 10:52:47
·²Ą?( ßtß)µø»Ż(ßtß )±×ŌĄŽÜ§
480:ftHg̼³µ³ń
06/01/29 18:09:11
C++/CLI ŖĢ VS ÜŶ«cĮÄé©A©ČčsĄB
ĘĶ¢¦AC++/CLI š\gĮÄéÆĒB
481:ftHg̼³µ³ń
06/01/29 19:45:25
C#ØC++ÖĢĻ·ĮÄÅ«ńĢH
482:ftHg̼³µ³ń
06/01/29 19:50:24
»čį¢ē½Åą³¾ėB
483:ftHg̼³µ³ń
06/01/29 20:27:13
>>481
ŗŻŹß²ŁØ.net reflector
484:ftHg̼³µ³ń
06/01/29 21:01:45
cli_class<T>::m_member' : wč³ź½oĶś»Å«Ü¹ńB
Ę¢¤G[ŖoéĢÅ·ŖAm_memberšRs[·éÉĶǤµ½ē¢¢Ģŵ天H
generic <typename T> ref struct cli_class
{
T m_member;
cli_class(const cli_class% n)
:m_member(n.m_member) //error
{}
};
485:ftHg̼³µ³ń
06/01/29 23:25:35
generic <typename T> where T : System::ICloneable ref struct cli_class
{
T m_member;
cli_class(const cli_class% n)
//:m_member(n.m_member) //error
{
if ( n.m_member != nullptr )
m_member = safe_cast<T>(n.m_member->Clone());
}
};
±¤©ČH©MČ¢ÆĒB
486:ftHg̼³µ³ń
06/01/30 11:48:01
ńZqÅPÅgķźÄ¢Č©Į½ąĢIp[hÅ·Ė
487:ftHg̼³µ³ń
06/01/30 13:02:57
cli_class ŖmčµÄČĖH
generic <typename T> ref struct cli_class
{
@@T m_member;
@@cli_class()
@@{}
@@cli_class(cli_class<T>% n)
@@@@:m_member(n.m_member) //error
@@{}
};
const tÆéĘA^p[^ąeæšóÆÄLXgÅ«ČČé©ē
const Oµ½
488:ftHg̼³µ³ń
06/01/31 17:35:17
GCC ĢŌÉ C++/CLI RpCŖŌüč·éśŖ
¢Ā©āĮÄéĘv¤lA¢éH
489:ftHg̼³µ³ń
06/01/31 17:51:54
ɼ Java ąRpCÅ«Äéń¾©ēACLI²«ÅāĮæį¢»¤ČCŖ·é
490:ftHg̼³µ³ń
06/01/31 18:02:27
>>489
ØÜ¢A»źŹĢgccB
491:ftHg̼³µ³ń
06/01/31 18:09:14
mingwÅ\¢»įOĮÄĄ³źÄéĢ?
492:484
06/01/31 18:49:53
>>487
ČéŁĒconstĶøµ½ēūܵ½B
čŖĘ¤²“¢Üµ½B
493:ftHg̼³µ³ń
06/01/31 19:34:10
>490
AĄsGW³µÅģĮæį¢»¤ČCŖ·éĮıĘ
494:ftHg̼³µ³ń
06/02/01 00:17:29
CLṞĘ?
495:ftHg̼³µ³ń
06/02/01 06:59:47
^CĶRpCRNVŖ
ńµČÄą¢¢ń¶įČ¢H
496:ftHg̼³µ³ń
06/02/01 08:47:44
GCC Å CIL šoͷ龯¶įÓ”ŖČ¢©ēAexe šĄs·éĘ«oCh·éĢĄs
GWĶCLR © mono ÉéĢH
497:ftHg̼³µ³ń
06/02/01 09:02:05
>>496 »¤Čé¾ė¤ČB
mono Ģ mcs ĢūŖ C++/CLI RpCÅ«éę¤ÉEEE
ČēČ¢¾ė¤ČB
mono ÅĶ·ÅÉ ASP.NET Ķ¢¢“¶Å®¢Äéń¾Į½ĮÆH
Java ĢåéšæåĮĘĶŲčö·±ĘŖoéAĢ©ČH
ĮÄAWebAvP[VĶ PHP ŵ©¢½±Ę³¢ń¾ÆĒB
498:ftHg̼³µ³ń
06/02/01 09:55:46
monoĮÄĄst@CN®ÉOGWÉA^b`µÄāčĘčū颢dgŻĮÄ
éH@Java Ģ JNI Å C/C++ ©ē VM @ę¤ČV
499:ftHg̼³µ³ń
06/02/01 10:32:17
DLL ĢÄŃoµĘƶdgŻŖg¦½CŖ·éB
ČOAR\[Avš|[^uÉģė¤ĘvĮÄA
ncurses CušgĮÄ C# R\[AvšģĮ½B
ncurses Ģ DLL š C# ©ēÄŃo·ę¤ÉµÄB
»źĶ Visual Studio .NET 2003 Åģ¬B
ÅAncurses ̤LCuŖüĮÄé Debian ÉA
VS ÅRpCµ½ *.exe š»ĢÜÜĮÄsĮÄA
½ąl¦øÉ mono ÅĄsµ½ēæįńĘ libncurses.so
Ę©»ĢÓš_Ci~bNNµÄźÄ Į³č®¢½B
500:ftHg̼³µ³ń
06/02/01 10:34:03
½ŚŲŻø(techĀ:21Ō)
ĢZķĢŠźŖRźČń¾Ŗ(ą¤źlĶN©mēń)
»ĢŚ×Č|[g𢽠mono ĢOXŖ©źńB
501:ftHg̼³µ³ń
06/02/01 10:34:53
»źĶ»¤ĘAJNIĮÄuC/C++ ©ē VM @ę¤ČVv©H
Rź JNI ĶgĮ½±ĘČ¢ń¾ÆĒAt¶įĖH
502:ftHg̼³µ³ń
06/02/01 10:38:03
Ā[ķÆÅACLI ©ēĶ DLL ĘÆ¶ę¤É so ŖÄŃo¹éĘv¤B
©ČčI[vĘ¢¤©AČńĘ¢¤©EEE
503:ftHg̼³µ³ń
06/02/01 10:59:04
A²ßńBNŌᦽB
½ŚŲŻø(techĀ:21Ō) ĖB
504:ftHg̼³µ³ń
06/02/01 13:05:25
>501
JNI Ķ Java ©ēĢ C ÄŃoµĘAC/C++ ©ēĢ JVM ÄŃoµĢ¼ūšKčµÄéØ
505:ftHg̼³µ³ń
06/02/01 13:14:26
>>501 ØA»¤©BX}R
lCeBuR[h©ēĢÄŃoµĶ³¼VR
506:ftHg̼³µ³ń
06/02/03 09:47:25
¦¦ĮĘA·NCI[ÅāĮÄ«½[gČńÅ·ŖA
Vµ¢iHj|C^Ģ^ÉÖµÄAŚµšąµ½ŠĘ© čܹńŵ天H
char^̶ńĶ ¶ŖP¶øĀüĮÄ¢ĮÄAÅćŖ\0ÉČĮÄ¢éĘ¢¤A
AZux©ē·éĘĘÄąķ©čā·¢ąĢ¾Į½ĢÅ·ŖA
String^ s = "0123456789" ŖAćÉĒĢpÉi[³źéĢ©
³ēÉA±Ģ¶ńÉεÄA
char c,*p ;
p=s;
c = *(p+10);
Ę¢Į½A]ĢćĢLb^nb^ŖoČČĮīĢéĢĶAǤ¢¤dgŻČĢ©
ššµ½¢ĢÅ·ŖB
507:ftHg̼³µ³ń
06/02/03 10:18:32
managedȾÆę
508:ftHg̼³µ³ń
06/02/03 10:43:00
>>506
JavaāLispāCLIĢĄsĀ«ŖĒ¤ČĮĢ驲×ėB
509:ftHg̼³µ³ń
06/02/03 12:53:41
>>508
»źšŚµšąµ½ŠĘ©šu¢Äń¾ęA{PŖB
510:ftHg̼³µ³ń
06/02/03 13:02:48
»ńČ{ēČ¢Åę(w
±źĒŻČęAś{źĶ¢¢ĢŖČ¢©ēB
Shared Source Cli Essentials
URLŲŻø(www.amazon.co.jp)
511:ftHg̼³µ³ń
06/02/03 15:55:01
>>506
C++ĢclassĶšµÄÜ·©H
class objectšw·|C^Ęv¦Ī梩ĘB
512:ftHg̼³µ³ń
06/02/03 19:54:02
templateųšgØ¤Ęµ½ēG[ŖoéĢÅ·ŖA½Ŗ¢ÆČ¢Ģŵ天H
ref struct F{//FNĢųɵꤩČĘ
int operator()(int a){return a;}
};
generic <typename FN> ref struct Fn{
void test(){
FN fn;
fn.operator ()(100);// : error C2039: '()' : 'System::Object' ĢoÅĶ čܹńB
}
};
513:512
06/02/03 20:13:31
generic -> template
ɵ½ēŹčܵ½B
generic Ģ typename Ķ ObjectOńÉČéĢ©Č
514:512
06/02/03 20:24:11
ReflectorÅŻÄŻ½ē
generic Åé¾µ½ūĶp[[^ŖcĮĽA class_name<T>
TĶObjectšzčµÄéĢÅAp[^Ŗc¹Äéń©Č...
templateĢūĶp[^ŖÅč³źÄ½ -> class_name<int>
515:ftHg̼³µ³ń
06/02/03 23:42:54
PÉA}l[WhĘlCeBu̬^ÉČé©ēŹŚČ¾Æ
516:ftHg̼³µ³ń
06/02/03 23:44:42
>515 ĶįĮ½BgenericsĶwi^Ŗ System::Object^Å é±ĘšOńƵĨčA
RpCÅͶȢĄčA^ŖmčµČ¢
»±ēÓŖA¶ńu«·¦Ģ template ĘĶ«æŖį¤
517:512
06/02/04 02:33:08
>>516
ČéŁĒČĮʵܵ½B
čŖĘ¤²“¢Üµ½B
System::Collections::Generic::IEnumerator<T>
ČĒÅcovariant return valueŖ¶µ½Ę«ĶǤµ½ē¢¢ń...orz
518:ftHg̼³µ³ń
06/02/04 02:45:42
Ā[©A512ęBC^[tFCXÅS©³źÄ¢éķÆÅąČ¢sčĢ FN ^Ģ fn
Ģ\bhŖÄŃo¹éķÆČ¢¾ėH
>517 ĶļĢIČįÅµÄźČ¢ĘóµŖķ©ēń
519:512
06/02/04 13:45:57
>>518
·¢Ü¹ńBt@N^ĢconvariantČP[XÅČÄA
C++/CLIÅźŹÉöµ½źĘ¢¤Ó”Å·B
ČŗĢę¤Č“¶ÅāĮÄŻ½ĢÅ·ŖAC^[tFCXĢĄŖÅ«Ü¹ńŵ½B
¼¾ź¾ĘǤČéĢ©²×ńƾߩČ...
//NG
typedef String^ MyType;
typedef System::Collections::Generic::IEnumerator<MyType> MyEnumeratorType;
typedef System::Collections::Generic::IEnumerable<MyType> MyEnumerableType;
//OK
//typedef Object^ MyType;
//typedef System::Collections::IEnumerator MyEnumeratorType;
//typedef System::Collections::IEnumerable MyEnumerableType;
ref struct MyTest :public MyEnumerableType
{
ref struct MyEnumerator : public MyEnumeratorType
{
virtual property MyType Current { MyType get () { return nullptr; } }
virtual bool MoveNext(){ return false; }
virtual void Reset(){}
};
virtual MyEnumeratorType^ GetEnumerator() { return gcnew MyEnumerator();}
};
520:519
06/02/04 15:03:57
private: virtual Object^ System::Collections::IEnumerator::Current { Object^ get() sealed {return nullptr;} }
Ę¢¤ÉC#š^ÄŻ½ÆĒ¾ßݽ¢Åµ½B
ČŗĶC#ÅĢTv
class MyTest :System.Collections.Generic.IEnumerable<string>
{
class MyEnumerator :System.Collections.Generic.IEnumerator<string>
{
public virtual string Current { get { return null; } }
public virtual bool MoveNext(){ return false; }
public virtual void Reset(){}
public virtual void Dispose(){}
object System.Collections.IEnumerator.Current { get { return null; } }
};
public virtual System.Collections.Generic.IEnumerator<string> GetEnumerator(){ return new MyEnumerator();}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return new MyEnumerator(); }
};
521:519
06/02/04 16:15:08
covariant return value ĢźAQiKÅĄ·źĪČńĘ©Ā\ŵ½B
ref struct MyTestBase :public System::Collections::IEnumerable
{
ref struct MyEnumeratorBase :public System::Collections::IEnumerator
{
virtual property Object^ Current { Object^ get () { return nullptr; } }
virtual bool MoveNext(){ return false; }
virtual void Reset(){}
};
virtual System::Collections::IEnumerator^ GetEnumerator() { return gcnew MyEnumeratorBase();}
};
ref struct MyTest :public MyTestBase,System::Collections::Generic::IEnumerable<String^>
{
ref struct MyEnumerator:public MyEnumeratorBase,public System::Collections::Generic::IEnumerator<String^>
{
virtual property String^ Current { String^ get() new {return nullptr;} }
virtual ~MyEnumerator(){}
};
virtual System::Collections::Generic::IEnumerator<String^>^ GetEnumerator() new {return gcnew MyEnumerator();}
};
522:ftHg̼³µ³ń
06/02/04 18:01:17
managed@C++@ā뤺II@002
½ŚŲŻø(techĀ)l50
523:ftHg̼³µ³ń
06/02/04 18:07:52
ref@classĢ\bhÅEnumWindowsšgØ¤ĘµÄÜ·
R[obNÖšNXĢ\bhALPARAMš±ĢNXĢ|C^ʵ½¢ĢÅ·Ŗ
¢¢ū@Ķ čܷŵ天?
524:519
06/02/04 21:59:53
l^¾ĘC^[tFCX©ēµ©h¶Å«Č¢©ē
521Ģč@g¦Č¢Ė...orz
l^Čē
Type<int,Type<int,int> >ĘLqÅ«½ĢÉ
Type<int,Type<int,int>^ > Ü½Ķ Type<int,Type<int,int>^ >^
Ʒ鵩Ȣ©...orz
525:ftHg̼³µ³ń
06/02/04 22:31:14
>>523
P/InvokeĢźÉĶcallbackÉĶdelegatešg¤ń¾ĮÆČB
C++/CLIĢźĶR[obNpĢNXĘ\bhĶŹĢclassÅģĮÄ
ref@classÉļܵ½Ł¤Ŗy¾B
526:ftHg̼³µ³ń
06/02/04 22:33:29
>523
ßOÉŖ¢µćĀ
527:523
06/02/04 23:47:58
>>525
čŖĘ¤²“¢Ü·
`WµÄŻÜ·B
528:523
06/02/05 02:31:27
delegateĘR[obNÅõµ½ē©Ā©čܵ½
URLŲŻø(www.microsoft.com)
529:ftHg̼³µ³ń
06/02/05 19:43:18
generic parameter©ēgcnewūȢĘvĮ½ē
new§ńČńÄ Į½ń¾ĖB
C#É éŻ½¢ČńÅµÄŻ½ēÅ«½ęB
generic <typename T>where T : gcnew()
ref class A
{A(){ T t = gcnew T();}};
530:ftHg̼³µ³ń
06/02/05 23:48:54
System.Windows.Forms.ShowDialog()šµ½É^XNo[É
WindowŖĒĮ³źæį¢Ü·
^XNo[ÉoıȢū@ĮÄčÜ·©?
531:ftHg̼³µ³ń
06/02/06 00:31:03
>>530
ShowInTaskbar
532:ftHg̼³µ³ń
06/02/06 01:08:43
>>531
³ń·I
533:ftHg̼³µ³ń
06/02/06 01:41:27
C++ĢßŪøŽ×ϰÉĶńķŽ¢éķÆB
C++šĶŽĄ°CʵÄg¤lĘC++Ģ@\šŚźtg¤lB
“ĶĶŽĄ°ChČń¾ČB
C++Ģ@\ĶKvŬĄµ©gķČ¢B
ĮÉĶźÄČ¢ÅVZpĶÜøgķČ¢B
»µÄKøGCš©Ü·B
±źĶ“Ę¢¤ęčąļŠĢūjČń¾ķB
ĄĢAC++š®ąųÉg¢±Č¹éPGĶŁĘńǢȢB
FA¾źĢźpÉZŻ
¢ÄĢßŪøŽ×ŠŻøŽ·éB
±źŖåKĶČJÉČéĘĆŽ½ĻĢ“öÉČéń¾ČB
ĆŽ½Ļšh®½ßÉ ¦Ä§ĄšŻÆéB
“ĶļŠĢūjͳµ¢ĘvĮÄ¢éB
534:ftHg̼³µ³ń
06/02/06 03:45:59
C++/CLI¾ĘlNXĢvpeBĘCfNTššref»Å«éĖB
C#ÅĶāčūŖ«¢Ģ©Å«Č©Į½B¾źvzŖį¤½ß¾ė¤©
±źŖÅ«Č¢ĘCfNTÅĻXšµ¤l^ĢReiŖģźČ¢CŖ·éń¾Ŗ...
value struct Val{int val;};
value struct Test
{
void test(){ Test test;test[100].myt.val=200;Console::WriteLine(test.myt.val); }
Val myt;
property Val% default[int]{ Val% get(int index){ return myt; } }
};
535:ftHg̼³µ³ń
06/02/06 09:34:19
sage
536:ftHg̼³µ³ń
06/02/06 12:59:49
Equals šg¤ČBg¤š§·éČB
URLŲŻø(www.ailight.jp) ...
537:ftHg̼³µ³ń
06/02/06 15:53:01
>>536
NC³
URLŲŻø(www.ailight.jp)
URLŲŻø(www.ailight.jp)
538:ftHg̼³µ³ń
06/02/06 16:16:06
ꤷéɳēµć°?
539:ftHg̼³µ³ń
06/02/06 17:05:29
>>534
set·é٤ĢvpeBšģźĪ梾ÆÅĶȢ̩?
540:534
06/02/06 19:13:17
>>539
»ź¾ĘvpeBÖĢćüĶÅ«éÆĒAvpeBšī·éĻXŖÅ«Č¢Ęv¤B
Val%šValÉĻXµÄsetšĀÆÄąAtest[100].val=200;¾ĘĻXūȢ
Val tmp;tmp.val=200; test[100]=tmp; ČēĻXĀ\¾ÆĒ...
āčȳ»¤Åāč éP[X
generic <typename T1,typename T2> value struct M
{T2 myt;
property T2% default[T1]{
T2% get(T1 t1) { return myt; }
void set(T1 t1,T2% val){myt = val;}}
};
T2%¾Ę@M<int,M<int,int>> m; int i=100; m[100][100]=i; //ĘÆé //½¾ĻɵȢƢÆČ¢ļ_Ŗ...
T2¾Ę m[100][100]=100;ĘÆéŖĻXūȢ
541:ftHg̼³µ³ń
06/02/06 19:53:28
COĢåäŖ éGžĮ½B
uĶą¤ńxĘ .Net ĢLš©Č¢Bv
}CN\tgɾܳźÄézēAØęźB
542:ftHg̼³µ³ń
06/02/06 20:05:34
>>541
åäŖN¾©³¦Ä
543:ftHg̼³µ³ń
06/02/06 20:13:56
vEKąC++/CLIāĮÄéÆĒČB
URLŲŻø(www.dinkumware.com)
āĀēĶVC++pCuɽø³ķĮÄ¢éµA
C++/CLIĶEMCAĢW»ÉÖ^µÄ¢é©ēB
Ü C++/CLIĶ¢¢¾źg£ĘvķČ¢ÆźĒA
managed C++Ģ«ĢȳÉͬĪÉEXB
544:ftHg̼³µ³ń
06/02/06 20:33:14
«ą½ąmanaged@C++ĶC++/CLIÜÅĢbčÅČń¾©ēA
managed@C++Ģ«ĶC++/CLI¶įČ¢©B
managed@C++Ķ@OldSyntax¾×³B
545:ftHg̼³µ³ń
06/02/06 20:39:32
Ēź©ŠĘĀIĪČÆźĪČēȢƵ½ēs{ÓČŖēC++/CLIšIŌµ©Č¢ķČB
546:ftHg̼³µ³ń
06/02/06 20:46:22
[[X¾ķČAmanaged C++ĶB
547:ftHg̼³µ³ń
06/02/06 20:49:30
³¼ALÆĶŖØ¢Ā©Č¢B
548:ftHg̼³µ³ń
06/02/06 20:55:37
ÅąAT[rXpbNąoÄČ¢ VisualStudiošg¤ŁĒoJ¶įȵB
MS»ČOÅRpCŹécĮÄ é?
549:ftHg̼³µ³ń
06/02/06 23:39:31
>>548
³¢ęBoJ
550:ftHg̼³µ³ń
06/02/07 00:04:25
oJ¶įń
551:ftHg̼³µ³ń
06/02/07 01:01:12
ØÜ¦ēAVS2005}WÅg¤Ģ?@oJ¶įńB
·ÅÉAMSĶSPoךmńµÄéń¾¼B
552:ftHg̼³µ³ń
06/02/07 01:44:04
>>551
¶[ĮĘĶźéĢÜĮÄė±Ģ¤·ē^RI
553:ftHg̼³µ³ń
06/02/07 02:14:49
>>548
VB6ÅągĮĘÆę wwww
554:ftHg̼³µ³ń
06/02/07 02:41:12
>>552
N88@BASIC
555:ftHg̼³µ³ń
06/02/07 10:21:32
oJŖ3CB
556:ftHg̼³µ³ń
06/02/07 10:51:33
Win32R\[AvP[VĢ
int _tmain(int argc, _TCHAR* argv[])
Ķ
int main(int argc, char* argv[])
ɵæį¢Ü·ÆĒB¢¢Å·ęĖHųŖAt@Ę©kbNČēB
557:ftHg̼³µ³ń
06/02/07 11:32:34
RźĶ
int main(const int argc, const char* const argv[])
558:ftHg̼³µ³ń
06/02/07 13:00:33
>>557
»±ÜÅ¢ČēßčląconstɵÄĶǤ©H
559:ftHg̼³µ³ń
06/02/07 13:21:59
>>558 QĘŌµ¶įČ¢©ēӔȵB
560:558
06/02/07 13:27:44
>>559
Am©ÉӔͳ¢Č
ÅąAargcąconstɵÄéÆĒA±źąÓ”Ŗ³¢©ēA
»źš³ēÉOź³¹éĮÄÓ”ÅŌčląconstÉ·źĪ¢¢ĢÉ[
ĮĘvĮ½¾Æ
561:ftHg̼³µ³ń
06/02/07 14:04:04
argcĢźAÓ`ĶĘą©vOćĢÓ”ŖĻķéB
562:ftHg̼³µ³ń
06/02/07 14:21:19
¤Į©č«·¦éĘRpCÉS@³źéĘ©
563:558
06/02/07 14:26:48
m©ÉÖąÅĶÓ”ŖĻķé...©B
ÖĢI[o[[hÅĶÆź³źé©ēźĘvĮĽÆĒA
ąĢĶYźÄ½Bthanks
564:ftHg̼³µ³ń
06/02/07 15:01:05
>>558 ØOf¼Čz¾Č
565:ftHg̼³µ³ń
06/02/08 00:54:04
»±Åconst_castĢoź¾Č
566:ftHg̼³µ³ń
06/02/08 18:26:06
SILű¤ŗ
567:ftHg̼³µ³ń
06/02/08 19:24:23
x¢©ē_ęB
568:ftHg̼³µ³ń
06/02/09 01:52:44
STL/CLIØ üč
569:ftHg̼³µ³ń
06/02/09 04:28:08
Åč·zńĶcli::arrayČOÉpÓ³źÄČ¢H
570:ftHg̼³µ³ń
06/02/09 11:58:31
>568
STL.NETĶŹrzz³źéń¶įČ©Į½ĢH
571:ftHg̼³µ³ń
06/02/09 12:38:09
BOOST.NETąo½čĘ©B
³¼å¬B
572:ftHg̼³µ³ń
06/02/09 13:44:43
³¼¢ĮÄWinXPĢSP2üź½Č¢©ēĘ©¢¤RÅ
SP1šgĮÄénĘÆxĢü¾Č
Vµ¢ąĢĢūŖ¢¢ÉÜĮÄéB½Ę¦oOŻÅą
·¢ŚÅ©źĪ««Ģ¢Ł¤šIš·éūŖę¢
573:ftHg̼³µ³ń
06/02/09 17:47:52
>>571
BOOST.NETĮĽH»ńČń ńĢH
574:ftHg̼³µ³ń
06/02/09 22:47:44
>>572
»Ģ««ĢØ©°ÅANĢŗŖXĘ~ßÄ¢ń¾ŖĒ¤ÓCęéĢ©Ė?
575:ftHg̼³µ³ń
06/02/10 21:58:53
l^ÉftHgRXgN^ĘćüZqšč`Å«é
.NET¾źĮÄ éń©ČH
576:ftHg̼³µ³ń
06/02/10 22:01:31
t[[NąĢprivateȢ©Ģ\¢Ģš©éĘA
ftHgRXgN^gĮÄéĢŖ¢Ā© éČB
Win32ÖWĢ\¢ĢÅ©ŖĢTCYšŻčµÄéń¾ŖB
577:ftHg̼³µ³ń
06/02/10 22:20:02
>>575
ĀIL (ilasm)
ÜŌĮæįÆ¢ēČ¢ĮÄ¢¤© ĮÄąÜøāĮæį¢ÆČ¢µČ
578:575
06/02/10 23:53:50
>>576,577
Ǥą
ReflectorÅŻÄŻ½ē
staticRXgN^ÅćpµÄ¢éĢĶ čܵ½B
±ńČ“¶ÅµÄŻę¤©Č...
URLŲŻø(www.gdncom.jp)
579:575
06/02/11 01:08:41
āĮÄŻ½ÆĒęķ©ēń©Į½BÅą
templateĢŖĮź»ÅCLI^Ŗg¦éݽ¢¾©ēA»źÅcreate·źĪ¢¢©.
template <typename T> ref struct Type{ T create(); };
template <typename T> ref struct Type<T^>{ T^ create(); };
580:ftHg̼³µ³ń
06/02/11 07:51:31
C++ Å boost Ģ shared_ptr Ę© boost::program_options Ę©
g¢Üčń®ĢvOģĮÄ«½ń¾ÆĒA
C++/CLI Å»ĢR[h¬pÅ«éńÅ·©ĖH
stl::map Ę©g¢Üčń®mvOĶ
»ĢÜÜŮ̩ASTL.NET ݽ¢ČmšĀ©¤ę¤É
ŚAµČÆčįČēȢ̩ASystem::Collections š
g¤ĢŖ C++/CLI ¬ČĢ©EEEEEE
½Åąoé©ē½g¦Ī¢¢©Ą¤B
581:ftHg̼³µ³ń
06/02/11 09:40:08
C++/CLIĶÖ¾Ęv¤ŖA±ŻŖÆÉøsµ½“¶Ŗ·éČB
C#Å·éĶøŖAC++/CLIųźéĘĶcB
{Ķ.NETĪĶC#¾ÆÅę©Į½ń¾Ęv¤B
582:ftHg̼³µ³ń
06/02/11 10:25:45
>>580
managedČobjectšĒ¤µ¢½¢©Éęé¾ė?
į¦ĪlvZµÄ»ĢŹš3DOt\¦·éę¤ČźA
lvZĢŖĶŹÉC++g¦Ī¢¢ÆĒA(į¦ĪboostČĒ)
ęŹ\¦ĢŖĶǤµÄąCLIÉēȢƢÆČ¢B
C++/CLIĶī{IÉC++Ģ揯·Ęl¦Ä¢¢©ēB
"spaced keyword"ČńÄ¢¤ĢĶńŻ·¾ÆĒĖB
583:ftHg̼³µ³ń
06/02/11 10:29:11
ØÜ¦ēAĒĢGfBVgĮÄéĢH
584:ftHg̼³µ³ń
06/02/11 10:35:44
>>582 ¤ŽA¢ĮÄ¢é±ĘĶŖ©éB
ܳÉlvZµÄĀ»AĮÄĢĶdÅKvB
µ©ącåČlvZpĢCu(©ģ+¼ģ)Ŗ·ÅÉ éB
”źŌĢāčĶAR}hCšp[··é½ßÉÖČ
boost::program_options š C++/CLI R\[AvÅą
g¢½¢ĮıʩČ(Ī
585:ftHg̼³µ³ń
06/02/11 11:10:32
C++/CLIĶACLIÉēČÆźĪ¢ÆČ¢¾ÆA
managedČR[hš©ČÆźĪ¢ÆČ¢C++¾ė?
embedded C++ݽ¢É¾źĢ@\²©źÄ¢éķÆ¶įČ¢©ēB
CuÅ éSTL .NETĶAC#āHaskel©ēąg¦éSTLCuʵÄA
C++ĮLĢʱėͲ©źÄ¢éÆźĒB(Įź»ÖAČĒ)
586:ftHg̼³µ³ń
06/02/11 11:11:09
>>585
> managedČR[hš©ČÆźĪ¢ÆČ¢C++¾ė?
managedČR[hąÆéAĘą¾¦éµB
587:ftHg̼³µ³ń
06/02/11 11:15:34
>>585 ÓŽA¢ķźÄŻźĪ»¤¾ČB
“Ŗ ÜčÉą boost ˶ČR[h𫷬̽¾Æ¾Ęv¤B
588:ftHg̼³µ³ń
06/02/11 15:56:27
>>581
¢ėńȾźŖgpÅ«éĮÄ¢¤ĢŖ.NET̤½¢¶åĢŠĘ¾Į½©ē
C#¾ÆĮľ¤ĢĶ¢½¾ÆČ¢
589:ftHg̼³µ³ń
06/02/11 16:22:28
nĶX[µé
590:ftHg̼³µ³ń
06/02/11 16:26:50
.NETĮÄĄŪ”¾źÅJµÄ½č·ńĢH
591:ftHg̼³µ³ń
06/02/11 16:48:36
>>590 “ĶhglgĶ C# µ©gĮÄČ¢ÆĒA
“ŖgĮÄéAZuŖ C++/CLI ā VB.NET
ÅģēźÄ¢é©Ē¤©ĶmēČ¢B
592:ftHg̼³µ³ń
06/02/11 16:53:16
VC++ĶVC++ÅģēźÄ¢Ü·Ę¢¤ĶąĶāßĢąĢH
593:ftHg̼³µ³ń
06/02/11 17:26:02
uhglgvĮľ¤ÄŃūĶA`ĮŪ¢©ēāßÄź
594:ftHg̼³µ³ń
06/02/11 17:31:18
GrfIĢloXyݽ¢Čąń©B
595:ftHg̼³µ³ń
06/02/11 17:39:26
Win32APIČĒĢlCeBuÄŃoµšC++/CLIÅbvµÄ ĘĶC#ÅJµÄéB
windows.h@ĢÖāčĢč`š»ĢÜÜg¦éćÉInteropÅÄŃoµą¬ČĢÅ
P/Invokeęčŗńŗń¢¢ęB
hglgęč|`lbgĢŁ¤ŖĀ¤¢
596:ftHg̼³µ³ń
06/02/11 18:07:08
>>595
¶Øµ¢ŁĒÉÆÓ
AZuĢÉlCeBuR[hšĖĮßé©ē
tRpCÉąĪRÅ«éµB
597:ftHg̼³µ³ń
06/02/11 20:57:49
»ńȱʵ½ē64bitÅ»ĢÜÜ®©Č¢¶įń
598:ftHg̼³µ³ń
06/02/12 03:52:02
>>597
32bitŽ©āčÅą?
599:ftHg̼³µ³ń
06/02/12 16:51:41
C++/CLIŖNativeĘManaged̬AvšģéĢÉDGČĢĶšÅ«éŖA
/clr:safe@ČAvš ¦ÄC++/CLIÅģé±ĘÉÓ”Ŗ é̾뤩B
600:ftHg̼³µ³ń
06/02/12 17:37:42
>>599
ĮÉȵBC++/CLIĶC++g¢µźÄé(C++CušcåÉų¦Äé)lš
.NETÉq¬ĘßÄØ½ßĢąĢB
601:ftHg̼³µ³ń
06/02/12 21:00:01
2003ĢWin32APIāMFCš2005ExpressEditionÅgؤĘ
ę£ĮÄŻ½Ŗ³¾Į½B
Win32APIĶRpCŹéÆĒxoéµA
MFCÉÖµÄĶSØčć°B
602:ftHg̼³µ³ń
06/02/12 22:31:04
>>601
WinAPIĶ2003©ēĮıČÄąÅVĢPlatform@SDKšüźźĪ¢¢¾ė¤ÉB
603:ftHg̼³µ³ń
06/02/12 23:14:27
C++/CLIĶVB.NETÅģĮ½NXCušÄŃo·±ĘąĀ\H
604:ftHg̼³µ³ń
06/02/12 23:33:15
Ā
605:ftHg̼³µ³ń
06/02/12 23:51:30
>>602
ÅVĢSDKĮÄ«½ēAxČČĮ½ęB čŖĘB
606:ftHg̼³µ³ń
06/02/13 08:02:58
managed C++ ݽ¢É C++/CLI ąāĮĻā[ß½ČńıĘÉĶČēń¾ė¤ČH
OŅĶČń©W»cĢÉĶo³źÄ½ń¾ĮÆHćŅ;³źÄ½ęČH
607:ftHg̼³µ³ń
06/02/13 08:05:18
>>605
“Ó;tÅĶȨŦ¹B
608:ftHg̼³µ³ń
06/02/13 12:44:28
>606
”AISO ÅW»ĢRø
609:ftHg̼³µ³ń
06/02/13 13:03:53
>>608 »źĶ C++/CLI ¾ęĖH
ठManaged C++ Ķ¢ēńÅ»B
610:ftHg̼³µ³ń
06/02/13 14:01:33
(1)for each( int obj in v)
(2)for each( int^ itr in v)
(3)for each( int% r in v)
for each ·éźAĒźŖØ©ßH
611:ftHg̼³µ³ń
06/02/13 15:26:41
>>609
URLŲŻø(www.ecma-international.org)
±źŖISOÉńo³ź½BÜ ISOÉČéĀ\«ĶČ¢Ęv¤ÆźĒB
612:ftHg̼³µ³ń
06/02/13 16:55:39
>>611 źHČ¢ĢH
613:ftHg̼³µ³ń
06/02/13 17:22:33
CLI ©ĢĶ·ÅÉ ISO WÉČĮÄéń¾ęČB
Java VM ą ISO WÉ·źĪ¢¢ĢÉB
Java ¾źĘĶŲ裵ÄB
614:ftHg̼³µ³ń
06/02/13 18:06:42
ÅAISO WÄ½ĢšÉ§ĀĢH
615:ftHg̼³µ³ń
06/02/13 18:07:31
l[o
[
616:ftHg̼³µ³ń
06/02/13 18:10:32
Ąæš³µ½l[o
[ČēA
Java >>>>>>iĒj>>>>>> b„iI$Oj
¾ĖB
617:ftHg̼³µ³ń
06/02/13 18:13:08
>>616 ĄæIČl[o
[¾Ęv¤ÆĒB
618:ftHg̼³µ³ń
06/02/13 21:22:11
>>616
Java Ģl[o
[ĮÄ©ČčĄæIČąĢ¾Ęv¤¼B
619:ftHg̼³µ³ń
06/02/13 23:26:25
>>613
EMCAĢÉAJ2EEąÆÉĢp³źé±Ęɱ¾ķĮ½B
ĶAIBM»Ģ¼x_[ŖĘ©rWlXüÆt[[NĢe šĮÄ¢½B
JavaĶܾܾ¾źKiĢĻ»Ŗµ¢©ēA10NOČē©čąĆ¾Į½Ęv¤B
”ĶAC++ݽ¢ÉėÉČ¢ĄąKišģéĢÉļRŖČČĮīĢéB
¾©ēJavaą”©ēISOĢńoµÄࢢĘv¤ÆźĒA
EMCAĢWinnKiݽ¢Éśu³źéĘ¢éęĖB
C#āCLIą»ńȱĘÉČēČ¢©ĘSzB
620:ftHg̼³µ³ń
06/02/14 04:09:12
>>618
m©ÉJavaĶl[o
[¾Æ¾Č
621:ftHg̼³µ³ń
06/02/14 09:09:07
hglbcĶĄæmnDP
ix[p[EFAåj
622:ftHg̼³µ³ń
06/02/14 13:57:47
>610
vĢgš«·¦½¢Ę«ĶAKRIÉ(3)
(1)Ę(2)ÅRpCŹÉ·Ŗoé©ĶmēńŖAƶČē(2)ĢūŖ¼ĢQĘ^ČĒĘź«ŖĢźéĘv¤
623:ftHg̼³µ³ń
06/02/14 22:40:58
int^ ¾Ę{bNX»ĢRXgŖČ¢H
624:610
06/02/15 09:08:44
>>622,623
l^ĢźA(1)Ŗ³ļČCŖµÄ«½B(2)Ķe|GC|C^ČĢ©...(3)ĶČń©öµ¢...
QĘ^ĢźA(2)µ©Išą¤Č¢CŖAęSĢIšĶėÆŪ¢µ...
ref struct Test{
Test(){}int x;Test(int in_x) :x(in_x){}
static void test(){
System::Collections::Generic::List<int> v;v.Add(1);v.Add(2);v.Add(3); //case1
//cli::array<int>^ v = {1,2,3}; //case2
#define SHOW for each(int i in v){Console::WriteLine(i);}
for each(int i in v){i *= 2;}SHOW;//result->{1,2,3}
for each(int^ p in v){(*p) *= 2;}SHOW;//result->{1,2,3}
//for each(int^% p in v){(*p) *= 2;}SHOW;//danger
for each(int% r in v){r *= 2;}SHOW; //case1->{1,2,3},case2->{2,4,6} -> unsafe code
}
static void test2(){
System::Collections::Generic::List<Test^> v;v.Add(%Test(1));v.Add(%Test(2));v.Add(%Test(3));
//cli::array<Test^>^ v ={ %Test(1),%Test(2),%Test(3) };
#define SHOW2 for each(Test^ t in v){Console::WriteLine(t->x);}
for each(Test^ p in v){(*p).x *= 2;}SHOW2;//result->{2,4,6}
for each(Test^% r in v){(*r).x *= 2;}SHOW2;//result->{4,8,12},case2->{2,4,6} -> unsafe code
}
};
625:ftHg̼³µ³ń
06/02/15 12:54:23
>624
½šYńÅ¢éĢ©ęķ©ēń
ń·é^Éķ¹źĪĒ¢ń¶įČ¢©H
KŽK¾ė
626:ftHg̼³µ³ń
06/02/15 16:25:30
^¤“
627:ftHg̼³µ³ń
06/02/15 19:45:53
ę[©éĘAēÉ©¦ÄéB
628:ftHg̼³µ³ń
06/02/18 14:49:04
VS 2005 C++¾·
~@String str = "Hello";
@String ^str = "Hello";
¢ææ^tÆČ¢Ę¢ÆČ¢Ż½¢Å·ĖA
^ĮÄǤ¢¤Ó”ĆŽĀ¶
629:ftHg̼³µ³ń
06/02/18 15:09:39
>>628
C++/CLIÉÆé|C^
630:ftHg̼³µ³ń
06/02/18 15:17:47
»Į©A»źÅ
*š^ÉϦėĮÄ¢Ž
Ŗ¾ĮÄéĢA©½ę¤ČóKX
µ©µČ[AČŗ·¦éKvŖ éĢ©ĘAYެ10Ŗ
*AX^XNĶČń©¼ĢprÅĀ©ĮÄéĢ©ČHH
631:ftHg̼³µ³ń
06/02/18 15:30:01
±¤o¦½ūŖ¢
* šgĮÄ¢éĢĶ C++
^ šgĮÄ¢éĢĶ CLI g£
632:ftHg̼³µ³ń
06/02/18 15:44:42
>>630
*Ģ|C^^ÆmĶ|C^ZŖ é©ēZq½dč`ŖÅ«Č¢B
^ĢĒÕnhČē»Ģę¤Č±ĘŖČ¢©ēZq½dč`ŖÅ«éB
633:628
06/02/18 16:29:22
>>631
>>632TNXÅ·
GUIŖg¦éWin32ÅAvP[Všģč½ÄANETā{šĒńÅ
”wKµÄ¢éʱėČńÅ·AVisual Studio 2005 C++Ģ
Win32R\[AvP[VšJ¢Ä{^šµ½ēA
eLXg{bNXÉbZ[Wš\¦³¹½čĘ©µÄ
®©µÄ¢éĢÅ·ÆĒóąŖ©ēøÉACLIšgĮÄ¢½ńÅ·ĖiG^Ö^j
VS2005C++ČĀ«ÅlCeCuČC++ÅR\[AvP[VĶ
ģźČ¢Ģŵ天HMFCą§ķµę¤Ęv¢Üµ½ŖAŹØĢę¤Å·µ
SŅIÉĶĒĢūüÅiń¾ēǢŵå¤A¬źTŌćXƵĢܷ
634:628
06/02/18 16:32:13
½Ļæ
~@GUIŖg¦éWin32ÅAvP[Všģč½Ä
@GUIÅ®ģ·éWindowsAvP[Všģč½Ä
635:ftHg̼³µ³ń
06/02/18 16:45:58
SŅČēC#ÖsĮÄŻÄĶǤ©ĘfķµÄŻéB
VS2005C++gĮ½³¢ÆĒAA}l[Wh(lCeBu)ĶģźéĶø¾B
636:ftHg̼³µ³ń
06/02/18 16:55:38
2005ĶŹÉuWin32R\[AvP[VvÅlCeBušģźéĶø¾Ŗc
Express¾Ęį¤Ģ©H
637:ftHg̼³µ³ń
06/02/18 17:01:58
>628
GUI Åmšģ软źĪAf¼É MFC Éiń¾ūŖ¢¢Ęvķź
C++/CLI ĶæĘSŅÉĶØ©ßūȢBŹĢū@ÅͫūČČĮ½ŗlüÆ
¾©ē
ĘĶA635 ĢißéĘØčAC# ÅmšģĮÄŻÄ«Å«ČČĮ½ēAܽ±æēÉ
oßĮÄéƾ¤Ģࢢ
638:ftHg̼³µ³ń
06/02/18 17:15:12
>>633
R\[AvP[VĘeLXg{bNXĢĀČŖčŖķ©ēń
639:ftHg̼³µ³ń
06/02/18 17:36:48
·ńܹńAŌį¦Ä¢Üµ½
CLR©ēWindowstH[AvP[Vģ¬Åµ½
640:ftHg̼³µ³ń
06/02/18 21:12:37
¼X©ēU±³źÄ«Üµ½B
C++/CLIšgĮÄ¢éńÅ·ŖA
©ŖĢNXCuĢVOgĢNXÉ éSystem::Drawing::Size^ĢvpeBšĻXµę¤Ęµ½ē
p->Size = System::Drawing::Size(64, 64);
ĘŻčĶÅ«éĢÅ·ŖA
p->Size.Width = 64;
Ģę¤ÉĀŹÉŻčµę¤Ęµ½ēKø0ÉČĮĵܢܷB
Ǥ·źĪĀŹÉŻčÅ«éę¤ÉČčÜ·©B
641:640
06/02/18 21:26:55
eµÄCt¢½ĢÅ·ŖASizeĢŖšnhɵ½ēŻčoéę¤ÉČčܵ½B
½Ģ©Ŗķ©ēȢŷŖEEEB
Xµ·¢Ü¹ńŵ½B
642:ftHg̼³µ³ń
06/02/18 21:48:34
>>641
System.Drawing.SizeĶ^l¾©ēµ¢ŖŹ|¾Ģ¤B
643:ftHg̼³µ³ń
06/02/19 06:34:22
>>633
Xį¢
½ŚŲŻø(techĀ)
644:ftHg̼³µ³ń
06/02/19 14:36:44
>>641
Ę¢¤©»źĶ ÜčęėµČ¢B½ŌńB
p->Size = Size(64, p->Sizte.Width);
Ƶȳ¢(±¤¢¤CLRĢķÆŻ½¢ČĢą¢é©ē
ܽ”GČń¾ęČ>C++/CLI)B
645:644
06/02/19 14:43:34
Éį[AR[hŌᢷ¬
p->Size = Size(64, p->Size.Height);
±¤B
646:ftHg̼³µ³ń
06/02/19 15:20:04
»ńČńķ©ēńzĶC#āJavaą÷¾ėB
647:ftHg̼³µ³ń
06/02/19 15:28:54
>>646
cÜČBĄĢĢĒÕąÅ«Č¢x¾µB
C#Ķܾ®©Č¢¾ÆÅĄS¾ÆĒA±¤¢¤āĀÉĶĮÉC++Ķgķ¹½Č¢B
ÖWĢoOåŹR[hšBµ©ą»¤¢¤źfobOrh¾Ę®¢½č
·é±Ęą é©ē«æŖ«¢cB
648:ftHg̼³µ³ń
06/02/19 20:48:42
Visual C++ 2005 Express Edition ĢĀ«ÅAĶÜĮĵܢAF³ńĢØmbšqŲµ½¢Å·B
WebĢ_E[hČĢÅ·ŖA
ū@1
@@WebClient^ wc = gcnew WebClient();
@@Stream^ st = wc->OpenRead("URLŲŻø(www.yahoo.co.jp)");
@@Encoding^ enc = Encoding::GetEncoding("euc-jp");
@@StreamReader^ sr = gcnew StreamReader(st, enc);
@@String^ out = sr->ReadToEnd();
@@Debug::WriteLine(out);
±źĶ¤Ü¢«Webf[^Ģ澪ūܷB
ū@2
WebClient^ wc = gcnew WebClient();
Byte ^ myDataBuffer = wc->DownloadData("URLŲŻø(www.google.co.jp)");
Encoding^ enc = Encoding::GetEncoding("euc-jp");
String^ out = enc->GetString(data);
±ĢR[h¾ĘRpCG[Å·B
G[bZ[WĶA
.\MainForm.cpp(50) : error C2440: 'ś»' : 'cli::array<Type,dimension> ^' ©ē 'System::Byte ^' ÉϷūܹńB
@@@@with
@@@@[
@@@@@@Type=unsigned char,
@@@@@@dimension=1
@@@@]
@@@@±ĢĻ·šĄsĀ\Č[U[č`Ļ·ZqŖČ¢©AܽĶZqšÄŃo¹Ü¹ńB
Ę čÜ·B
oCgzńÉüź½¢¾ÆČĢÉB
649:ftHg̼³µ³ń
06/02/19 21:05:11
>>648
WebClient::DownloadData()ĢßčlĢ^Ķcli::array<unsigned@char>^B
Encoding::GetString()Ģųącli::array<unsigned@char>^B
650:ftHg̼³µ³ń
06/02/19 21:12:35
^@©Čń©R¤“¢Bęķ©ēČ¢ÆĒ §½µ¢B
651:ftHg̼³µ³ń
06/02/19 21:18:36
(^^:
652:ftHg̼³µ³ń
06/02/19 21:20:18
^<T>^
653:648
06/02/19 21:44:16
>>649
Byte š cli::array<Byte> ɵ½Ę±ėAūܵ½B
cli::array<Byte> ^ myDataBuffer = wc->DownloadData("URLŲŻø(www.yahoo.co.jp)");
Encoding^ enc = Encoding::GetEncoding("euc-jp");
String^ out = enc->GetString(myDataBuffer);
ĪĮæčÅ·B±źÅęÉißÜ·B
Ā¢ÅßÜÅ C++ Builder g¢¾Į½ĢÅA¢ė¢ėĘĖfĮÄÜ·B
|C^Ķg¦øA^ Ę¢¤ąĢŖKv¾Ęķ©éÜÅA×1śē¢©©ĮÄÜ·B
×ŖÄēµøĀŚAµÄ¢«Ü·B
Ǥą čŖĘ¤²“¢Üµ½B
654:Pascal
06/02/19 23:09:23
>>650
Äń¾?
655:ftHg̼³µ³ń
06/02/20 00:22:49
>>650
ȽĢSŖźÄé©ēÅ·ę(^^;;;
656:ftHg̼³µ³ń
06/02/20 00:30:26
»ńČĪ©Č^^;
657:ftHg̼³µ³ń
06/02/20 01:26:15
>>650-652
xAc{ÉĶÜĮ½
658:ftHg̼³µ³ń
06/02/21 10:07:18
>>422-423
_CNgÉ C++ šmēøÉAC++/CLI Éčšo·ĢĶA~ß½ūŖ¢¢¾ė
³Į³ĘC#©VBÅn߽٤Ŗ¢¢Ęv¤B
Ęč ¦øbÅnßę¤ĘvĮ½īęAC++/CLI Ę©¢¤ĢŖŚÉüĮÄA
ut@CiCU¢¢ČvĘ©vĮĵÜĮ½ńÅ·ŖA
āĮĻčb©ēnßé±ĘɵܷB
>>424
ÖPŹÅ·©B
ĀÜčAÖÄŃoµš¤Ź»·é±ĘÅlXČĄsĀ«É éR[hšźĀĢvOÉÜĘßé±ĘŖÅ«½Ę¾¤±Ęŵ天ĖB
659:ftHg̼³µ³ń
06/02/21 11:10:22
>>658
AC#ɵ½Ģ©BÜ»¤µĘÆBC++/CLIĶlCeBuĢmÆ(C++)ĘCLRĢ
mÆ(C#)Ŗ¼ūv³źéŠĒ¢¾ź¾BÅįĄĒĮæ©®ē¢©RÉg¦é
ę¤ÉČĮĩ稢ÅBc¼ū©RÉg¦é®ē¢¶įČ¢Ęg¦é¾źÅą
Č¢©ąµźČ¢ŖB
t@CiCUHC#Éą é¼BĘ¢¤©CLRpź¾»źB
ÜDisposeŖX^bNIuWFNgĢę¤ÉÆé±Ę𢢽©Į½ń¾ė¤ÆĒB
ģĘ©Ŗęčć°Ä¢éŁĒA½¢µ½ąĢ¶įČ¢B ĢlĶ尳ɶĢ
Ŗč¾©ēČB¢¢«¢ĶŹÉµÄB
y[WÅVX\¦XbhĢõŽXźbčĢj
[XØÜ©¹Xg„IvVš\¦ÉĀŌµ2ch
5380śOÉXV/240 KB
S:undef