{"id":680,"date":"2007-09-06T18:06:07","date_gmt":"2007-09-06T09:06:07","guid":{"rendered":"http:\/\/terzeron.com\/?p=680"},"modified":"2007-09-06T18:06:07","modified_gmt":"2007-09-06T09:06:07","slug":"win32-%eb%8b%a8%ec%83%81","status":"publish","type":"post","link":"https:\/\/terzeron.com\/?p=680","title":{"rendered":"win32 \ub2e8\uc0c1"},"content":{"rendered":"<p>\uc57d\uac04\uc758 win32 \uc218\uc900\uc758 \uc2dc\uc2a4\ud15c \ud504\ub85c\uadf8\ub798\ubc0d \uacbd\ud5d8\uc744 \uac00\uc9c0\uace0 \uc788\ub2e4. Unix \ud658\uacbd\uc5d0\uc11c \ub3d9\uc791\ud558\ub3c4\ub85d \ub9cc\ub4e4\uc5b4\uc9c4 DB\uc5d4\uc9c4\uc744 Windows \ud658\uacbd\uc73c\ub85c \uc774\uc2dd(porting)\ud558\uba74\uc11c \uc5bb\uac8c \ub41c \uacbd\ud5d8\uc774\ub2e4.<\/p>\n<p>\uadf8 \ub355\ubd84\uc5d0 \uc720\uba85\ud55c Jeffrey Richter\uc758 <a href=\"http:\/\/www.amazon.com\/Advanced-Windows-Jeffrey-Richter\/dp\/1572315482\">Advanced Windows<\/a>\ub97c \uc77d\uc740 \uc801\uc774 \uc788\ub294\ub370(\ub354 \uc720\uba85\ud55c Petzold\uc758 <a href=\"http:\/\/www.charlespetzold.com\/pw5\/\">Programming Windows<\/a>\ub3c4 \uc77d\uc5c8\ub358 \uac83 \uac19\uc740\ub370 -_-a) , \uc9c0\uae08 \ub3cc\uc774\ucf1c\ubcf4\uba74 MS\ub3c4 \ubb34\ub358\ud788 Unix\uc758 \ud45c\uc900\uc778 POSIX\ub97c \ubca0\ub07c\ub824 \uc560\ub97c \uc37c\uad6c\ub098 \ud558\ub294 \uc0dd\uac01\uc774 \ub4e0\ub2e4. \uc774\ub984\ub9cc \ub2e4\uc18c \uae38 \ub530\ub984\uc774\uc9c0, POSIX\uc5d0\uc11c \uc694\uad6c\ud558\ub294 \uae30\ub2a5\uc774\ub098 interface\ub97c \uc81c\uacf5\ud558\ub824\uace0 \ub178\ub825\ud55c \ud754\uc801\uc774 \ubcf4\uc774\ub294 \uac83\uc774\ub2e4. \ube44\uc2b7\ud55c \uc774\ub984\uc758 <a href=\"http:\/\/www.amazon.com\/Programming-Environment-Addison-Wesley-Professional-Computing\/dp\/0201433079\">Advanced Programming in Unix Environment<\/a>(\ud559\uc0dd\uc2dc\uc808\uc5d0\ub294 \uace0\uba85\ud558\uc2e0 \uc120\ubc30\ub2d8\uc758 \uba85\uba85\uc5d0 \ub530\ub77c EUPA\ub77c\uace0 \ubd88\ub800\ub358 &#8216;\uadf8&#8217; \ucc45)\uacfc \ube44\uad50\ub97c \ud574\ubcf4\uba74 \ube44\ub85d \uc790\uc138\ud55c \ub0b4\uc6a9\uacfc \ud615\uc2dd\uc740 \ub2e4\ub974\uc9c0\ub9cc \ub9d0\ud558\uace0\uc790 \ud558\ub294 \ubc14\ub294 \ube44\uc2b7\ud558\ub2e4. \uc6b4\uc601\uccb4\uacc4\ub97c \uc798 \uc774\uc6a9\ud574\uc11c \uc2dc\uc2a4\ud15c \ud504\ub85c\uadf8\ub7a8\uc774 \uc81c\ub300\ub85c \ub3d9\uc791\ud558\uac8c \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc744 \ud504\ub85c\uadf8\ub798\uba38\ub4e4\uc5d0\uac8c \uc54c\ub824\uc8fc\ub294 \uadf8\ub7f0 \uac83 \ub9d0\uc774\ub2e4.<\/p>\n<p>\uadfc\ub370 \uc544\uc26c\uc6b4 \uc810\uc774 \uc788\uc5c8\ub2e4. POSIX\uc5d0\uc11c \uc5f4\uac70\ud574\ub193\uc740 \ub3c4\uad6c\ub97c \uad6c\ud604\ud574\ub193\uc9c0 \uc54a\uc740 \uac8c \ub354\ub7ec \uc788\uc5c8\ub2e4. \uadfc\ub370 \uc2dc\uc2a4\ud15c \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0 \uadf8\ub7f0 \ud55c\ub450 \uac00\uc9c0\ub9cc \ube60\uc838 \uc788\uc5b4\ub3c4 \uc774\uc2dd\ud574\uc57c\ud558\ub294 \uc785\uc7a5\uc5d0\uc11c\ub294 \ub2f5\ub2f5\ud55c \ub178\ub987\uc774 \uc544\ub2d0 \uc218 \uc5c6\ub294 \uac8c\ub2e4. \uc608\ub97c \ub4e4\uba74, semaphore\uac00 \uc5c6\uc5b4\uc11c \ub2e4\ub978 locking primitive\ub85c semaphore\ub97c \ube44\uc2b7\ud558\uac8c(\ub77c\ub3c4) \ub9cc\ub4e4\uc5b4\uc57c \ud55c\ub2e4\uac70\ub098, socket API\uc758 return value\uc758 convention\uc774 Unix\uc758 \uadf8\uac83\uacfc \ubbf8\ubb18\ud558\uac8c \ub2ec\ub77c\uc11c \uc608\uc678 \ucc98\ub9ac\uc5d0 \uc2dc\uac04\uc744 \uc0c1\ub2f9\ud788 \uc7a1\uc544\uba39\ub294\ub2e4\ub294\uac00 \ud558\ub294 \uac83 \ub9d0\uc774\ub2e4. \ubb3c\ub860 \ub0b4\uac00 \uc2dc\uc2a4\ud15c \ud504\ub85c\uadf8\ub798\uba38\ub85c\uc11c \uacbd\ud5d8\ub3c4 \uc77c\ucc9c\ud55c \uc2dc\uc808\uc5d0 \ubc1b\uc558\ub358 \uc778\uc0c1\uc774\ub2c8\uae4c Windows \uc639\ud638\uc790\uac00 \uc774 \uae00\uc744 \ubcf8\ub2e4\uba74 \uc801\ub2f9\ud788 \uac10\uc548\ud574\uc11c \uc77d\uc5b4\uc8fc\uae38 \ubc14\ub780\ub2e4.<\/p>\n<p>\ub2f7\ub137\uc774 \uc2dc\uc7a5\uc758 \uc8fc\ub958\uac00 \ub41c \uc9c0 \uc624\ub79c \uc774 \ub9c8\ub2f9\uc5d0 win32 \uc774\uc57c\uae30\ub97c \ud55c\ub2e4\ub294 \uac8c \ub2e4\uc18c \uc2dc\uc758\uc131\uc774 \ub5a8\uc5b4\uc9c0\ub294 \ubc14 \uc5c6\uc9c0 \uc54a\uc73c\ub098, Unix \uc138\uc0c1\uc5d0\uc11c \uc2dc\uc2a4\ud15c \ud504\ub85c\uadf8\ub798\ubc0d\uc744 \ud558\uc790\uba74 \uc544\uc9c1\ub3c4 POSIX\ub97c \ube7c\ub193\uc744 \uc218 \uc5c6\uc73c\ub2c8 \uadf8\uc5d0 \uac78\ub9de\ub294 \uc0c1\ub300\uac00 win32\uc77c \uc218 \ubc16\uc5d0 \uc5c6\uaca0\ub2e4.<\/p>\n<p>\uac1c\ubc1c\uc790 \uc785\uc7a5\uc5d0\uc11c\ub294 \uc81c\ub300\ub85c \uac16\ucdb0\uc9c4 \ud50c\ub7ab\ud3fc\uc774 \uc544\ubb34\ub798\ub3c4 \ud3b8\ud560 \uc218 \ubc16\uc5d0 \uc5c6\ub2e4. \ub0b4\uac00 Windows\ub97c \uac70\ubd80\ud558\uace0 Unix \uac1c\ubc1c\uc790\ub97c \uace0\uc9d1\ud558\ub294 \uc774\uc720\uac00 \uc5ec\uae30\uc5d0 \uc788\ub2e4. \uc9c1\uc5c5\uc73c\ub85c\uc11c\uac00 \uc544\ub2cc \ucde8\ubbf8\ub85c\uc11c\uc758 \ud504\ub85c\uadf8\ub798\ubc0d \ucc28\uc6d0\uc5d0\uc11c, \uac00\ub054\uc740 \uc708\ub3c4\uc6b0\uc988 \ud504\ub85c\uadf8\ub798\ubc0d\ub3c4 \ud574\ubcf4\uace0 \uc2f6\uc73c\ub098 \uc18c\uc2dc\uc801\uc5d0 \uc544\ub974\ubc14\uc774\ud2b8 \ucc28\uc6d0\uc5d0\uc11c Visual Studio\ub97c \uc774\uc6a9\ud574\uc11c C++\uacfc Basic\uc73c\ub85c \uac04\ub2e8\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc791\uc131\ud574\ubcf8 \uacbd\ud5d8\ub9cc\uc73c\ub85c \ub2e4\uc2dc \ub3c4\uc804\ud574\ubcf4\uae30\uc5d0\ub294 \ub108\ubb34 \ub9ce\uc774 \ubc14\ub010\ud130\ub77c \uc5c4\ub450\uac00 \ub098\uc9c8 \uc54a\ub294\ub2e4\uace0\ub098 \ud560\uae4c&#8230; Unix\uac00 Linux \ub355\ubd84\uc5d0 \uc138\uc0c1\uc5d0 \uc774\ub984\uc744 \uc54c\ub838\ub2e4\uace0\ub294 \ud558\ub098, \uc0ac\uc6a9\uc790 PC\ub294 \uc544\uc9c1\ub3c4 Windows \ud310\uc774\ub2c8 Unix \uac1c\ubc1c\uc790\ub85c\uc11c \uc808\uc2e4\ud788 \ud55c\uacc4\ub97c \ub290\ub07c\uace0 \uc788\ub2e4. &#8216;\ud544\uc694\ud55c \ud504\ub85c\uadf8\ub7a8\uc740 \uc2a4\uc2a4\ub85c \ub9cc\ub4e4\uc5b4 \uc0ac\uc6a9\ud55c\ub2e4&#8217;\ub294 \ud574\ucee4 \uc815\uc2e0\uc744 \ucda9\uc2e4\ud788 \uc2e4\ucc9c\ud558\uc9c0 \ubabb\ud558\uace0 \uc788\ub294 \uac8c \uc548\ud0c0\uae4c\uc6b8 \ub530\ub984\uc774\ub2e4.(\uc0ac\uc2e4 \ub0b4\uac8c \ud544\uc694\ud55c \ud504\ub85c\uadf8\ub7a8\uc740 \uc5b4\uc9c0\uac04\ud55c \uac74 \uc774\ubbf8 \ub204\uad70\uac00\uc5d0 \uc758\ud574 \ub2e4 \ub9cc\ub4e4\uc5b4\uc838 \uc788\ub2e4. \ub2e4\ub9cc \uc798 \ub9cc\ub4e4\uc5b4\uc838 \uc788\ub294 \ud504\ub85c\uadf8\ub7a8\uc744 \uc870\uae08 \uace0\uccd0\uc11c \ucee4\uc2a4\ud130\ub9c8\uc774\uc988\ud558\uace0 \uc2f6\uc744 \ubfd0\uc774\ub2e4.)<\/p>\n<div class=\"fb-background-color\">\n\t\t\t  <div \n\t\t\t  \tclass = \"fb-comments\" \n\t\t\t  \tdata-href = \"https:\/\/terzeron.com\/?p=680\"\n\t\t\t  \tdata-numposts = \"100\"\n\t\t\t  \tdata-lazy = \"true\"\n\t\t\t\tdata-colorscheme = \"light\"\n\t\t\t\tdata-order-by = \"time\"\n\t\t\t\tdata-mobile=true>\n\t\t\t  <\/div><\/div>\n\t\t  <style>\n\t\t    .fb-background-color {\n\t\t\t\tbackground: #ffffff !important;\n\t\t\t}\n\t\t\t.fb_iframe_widget_fluid_desktop iframe {\n\t\t\t    width: 100% !important;\n\t\t\t}\n\t\t  <\/style>\n\t\t  ","protected":false},"excerpt":{"rendered":"<p>\uc57d\uac04\uc758 win32 \uc218\uc900\uc758 \uc2dc\uc2a4\ud15c \ud504\ub85c\uadf8\ub798\ubc0d \uacbd\ud5d8\uc744 \uac00\uc9c0\uace0 \uc788\ub2e4. Unix \ud658\uacbd\uc5d0\uc11c \ub3d9\uc791\ud558\ub3c4\ub85d \ub9cc\ub4e4\uc5b4\uc9c4 DB\uc5d4\uc9c4\uc744 Windows \ud658\uacbd\uc73c\ub85c \uc774\uc2dd(porting)\ud558\uba74\uc11c \uc5bb\uac8c \ub41c \uacbd\ud5d8\uc774\ub2e4. \uadf8 \ub355\ubd84\uc5d0 \uc720\uba85\ud55c Jeffrey Richter\uc758 Advanced Windows\ub97c \uc77d\uc740 \uc801\uc774 \uc788\ub294\ub370(\ub354 \uc720\uba85\ud55c Petzold\uc758 Programming Windows\ub3c4 \uc77d\uc5c8\ub358 \uac83 \uac19\uc740\ub370 -_-a) , \uc9c0\uae08 \ub3cc\uc774\ucf1c\ubcf4\uba74 &hellip; <a href=\"https:\/\/terzeron.com\/?p=680\">\uacc4\uc18d \uc77d\uae30 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","footnotes":""},"categories":[18,9],"tags":[],"class_list":["post-680","post","type-post","status-publish","format-standard","hentry","category-18","category-9"],"_links":{"self":[{"href":"https:\/\/terzeron.com\/index.php?rest_route=\/wp\/v2\/posts\/680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/terzeron.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/terzeron.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/terzeron.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/terzeron.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=680"}],"version-history":[{"count":0,"href":"https:\/\/terzeron.com\/index.php?rest_route=\/wp\/v2\/posts\/680\/revisions"}],"wp:attachment":[{"href":"https:\/\/terzeron.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=680"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/terzeron.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=680"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/terzeron.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}