{"id":336,"date":"2019-09-07T16:38:48","date_gmt":"2019-09-07T08:38:48","guid":{"rendered":"https:\/\/aichh.com\/?p=336"},"modified":"2019-09-07T16:38:48","modified_gmt":"2019-09-07T08:38:48","slug":"%e5%9c%a8tcl%e5%91%bd%e4%bb%a4%e8%a1%8c%e4%b8%ad%e8%b0%83%e7%94%a8c%e5%87%bd%e6%95%b0","status":"publish","type":"post","link":"https:\/\/aichh.com\/336.html","title":{"rendered":"\u5728TCL\u547d\u4ee4\u884c\u4e2d\u8c03\u7528C\u51fd\u6570"},"content":{"rendered":"<p>\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n<div>\n<div>\n<div id=\"highlighter_364020\" class=\"syntaxhighlighter nogutter  cpp\">\n<div class=\"toolbar\"><a class=\"toolbar_item command_help help\" href=\"http:\/\/www.rainsun.me\/articles\/2016\/01\/06\/1452048512784.html#\">?<\/a><\/div>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"cpp preprocessor\">#include \"C:Tclincludetcl.h\"<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"cpp preprocessor\">#pragma comment(lib,\"C:\\Tcl\\lib\\tcl84\")<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><\/div>\n<div class=\"line number5 index4 alt2\"><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"cpp comments\">\/**\/<\/code><code class=\"cpp comments\">\/*******\u81ea\u5df1\u7684\u51fd\u6570*******\/<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"cpp keyword bold\">void<\/code> <code class=\"cpp plain\">MyFunc1()<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"cpp plain\">{<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"cpp spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"cpp functions bold\">printf<\/code><code class=\"cpp plain\">(<\/code><code class=\"cpp string\">\"My function 1n\"<\/code><code class=\"cpp plain\">);<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"cpp plain\">}<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"cpp keyword bold\">void<\/code> <code class=\"cpp plain\">MyFunc2()<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"cpp plain\">{<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"cpp spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"cpp functions bold\">printf<\/code><code class=\"cpp plain\">(<\/code><code class=\"cpp string\">\"My function 2n\"<\/code><code class=\"cpp plain\">);<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"cpp plain\">}<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"cpp comments\">\/**\/<\/code><code class=\"cpp comments\">\/*******\u5728\u8fd9\u4e9b\u51fd\u6570\u91cc\u8c03\u7528\u6211\u4eec\u81ea\u5df1\u7684\u51fd\u6570*******\/<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"cpp color1 bold\">int<\/code> <code class=\"cpp plain\">TclCmdProc1(ClientData clientData, Tcl_Interp *interp, <\/code><code class=\"cpp color1 bold\">int<\/code> <code class=\"cpp plain\">objc, <\/code><code class=\"cpp color1 bold\">char<\/code><code class=\"cpp plain\">* CONST * objv)<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"cpp plain\">{<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"cpp spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"cpp plain\">MyFunc1();<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"cpp spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"cpp keyword bold\">return<\/code> <code class=\"cpp plain\">TCL_OK;<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"cpp plain\">}<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"cpp color1 bold\">int<\/code> <code class=\"cpp plain\">TclCmdProc2(ClientData clientData, Tcl_Interp *interp, <\/code><code class=\"cpp color1 bold\">int<\/code> <code class=\"cpp plain\">objc, <\/code><code class=\"cpp color1 bold\">char<\/code><code class=\"cpp plain\">* CONST * objv)<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"cpp plain\">{<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"cpp spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"cpp plain\">MyFunc2();<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"cpp spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"cpp keyword bold\">return<\/code> <code class=\"cpp plain\">TCL_OK;<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"cpp plain\">}<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"cpp comments\">\/\/\u8fd9\u91cc\u5c06\u547d\u4ee4\u4e0e\u51fd\u6570\u7ed1\u5b9a<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"cpp color1 bold\">int<\/code> <code class=\"cpp plain\">Test_Init(Tcl_Interp *interp)<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"cpp plain\">{<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"cpp spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"cpp comments\">\/\/\u5c06\u7b2c\u4e00\u4e2a\u51fd\u6570\u4e0e\u547d\u4ee4\"f1\"\u7ed1\u5b9a<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"cpp spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"cpp plain\">Tcl_CreateCommand(interp,<\/code><code class=\"cpp string\">\"f1\"<\/code><code class=\"cpp plain\">,(Tcl_CmdProc*)TclCmdProc1,(ClientData)NULL,(Tcl_CmdDeleteProc *) NULL);<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"cpp spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"cpp comments\">\/\/\u5c06\u7b2c\u4e8c\u4e2a\u51fd\u6570\u4e0e\u547d\u4ee4\"f2\"\u7ed1\u5b9a<\/code><\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"cpp spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"cpp plain\">Tcl_CreateCommand(interp,<\/code><code class=\"cpp string\">\"f2\"<\/code><code class=\"cpp plain\">,(Tcl_CmdProc*)TclCmdProc2,(ClientData)NULL,(Tcl_CmdDeleteProc *) NULL);<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><\/div>\n<div class=\"line number38 index37 alt1\"><code class=\"cpp spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"cpp keyword bold\">return<\/code> <code class=\"cpp plain\">TCL_OK;<\/code><\/div>\n<div class=\"line number39 index38 alt2\"><code class=\"cpp plain\">}<\/code><\/div>\n<div class=\"line number40 index39 alt1\"><\/div>\n<div class=\"line number41 index40 alt2\"><code class=\"cpp comments\">\/\/main<\/code><\/div>\n<div class=\"line number42 index41 alt1\"><code class=\"cpp color1 bold\">int<\/code> <code class=\"cpp plain\">main(<\/code><code class=\"cpp color1 bold\">int<\/code> <code class=\"cpp plain\">argc, <\/code><code class=\"cpp color1 bold\">char<\/code> <code class=\"cpp plain\">*argv[])<\/code><\/div>\n<div class=\"line number43 index42 alt2\"><code class=\"cpp plain\">{<\/code><\/div>\n<div class=\"line number44 index43 alt1\"><code class=\"cpp spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"cpp comments\">\/\/\u542f\u52a8TCL\u547d\u4ee4\u884c<\/code><\/div>\n<div class=\"line number45 index44 alt2\"><code class=\"cpp spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"cpp plain\">Tcl_Main(argc, argv, Test_Init);<\/code><\/div>\n<div class=\"line number46 index45 alt1\"><\/div>\n<div class=\"line number47 index46 alt2\"><code class=\"cpp spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"cpp keyword bold\">return<\/code> <code class=\"cpp plain\">0;<\/code><\/div>\n<div class=\"line number48 index47 alt1\"><code class=\"cpp plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\u751f\u6210DLL\u540e\u5728 TCL\u4e2dload<br \/>\nTCL\u63a7\u5236\u53f0\uff0c\u8f93\u5165\u8f93\u51fa\u5982\u4e0b\uff1a<br \/>\n% f1<br \/>\nMy function 1<br \/>\n% f2<br \/>\nMy function 2<br \/>\n% f1;f2<br \/>\nMy function 1<br \/>\nMy function 2<\/p>\n<p>&nbsp;<\/p>\n<p>via:http:\/\/www.cppblog.com\/playerken\/archive\/2009\/11\/25\/82823.html<\/p>\n","protected":false},"excerpt":{"rendered":"\u4ee3\u7801\u5982\u4e0b\uff1a ? #include &#8220;C:Tclincludetcl.h&#8221; #pragma comment(lib,&#8221;C:\\Tcl\\lib\\tcl84&#8243;) \/**\/\/*******\u81ea\u5df1\u7684\u51fd\u6570****** \u00b7\u00b7\u00b7","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-336","post","type-post","status-publish","format-standard","hentry","category-jiaocheng"],"views":383,"_links":{"self":[{"href":"https:\/\/aichh.com\/api\/wp\/v2\/posts\/336","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aichh.com\/api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aichh.com\/api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aichh.com\/api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aichh.com\/api\/wp\/v2\/comments?post=336"}],"version-history":[{"count":1,"href":"https:\/\/aichh.com\/api\/wp\/v2\/posts\/336\/revisions"}],"predecessor-version":[{"id":337,"href":"https:\/\/aichh.com\/api\/wp\/v2\/posts\/336\/revisions\/337"}],"wp:attachment":[{"href":"https:\/\/aichh.com\/api\/wp\/v2\/media?parent=336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aichh.com\/api\/wp\/v2\/categories?post=336"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aichh.com\/api\/wp\/v2\/tags?post=336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}