์˜์–ดํ”„๋ž‘์Šค์–ด์ŠคํŽ˜์ธ์–ด

Ad


์˜จ์›์Šค ํŒŒ๋น„์ฝ˜

i686-w64-mingw32-widl - ํด๋ผ์šฐ๋“œ์—์„œ์˜ ์˜จ๋ผ์ธ

Ubuntu Online, Fedora Online, Windows ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” MAC OS ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ํ†ตํ•ด OnWorks ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ… ์ œ๊ณต์—…์ฒด์—์„œ i686-w64-mingw32-widl์„ ์‹คํ–‰ํ•˜์„ธ์š”.

์ด๊ฒƒ์€ Ubuntu Online, Fedora Online, Windows ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” MAC OS ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๋ฌด๋ฃŒ ์˜จ๋ผ์ธ ์›Œํฌ์Šคํ…Œ์ด์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ OnWorks ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ… ์ œ๊ณต์—…์ฒด์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” i686-w64-mingw32-widl ๋ช…๋ น์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ:

์ด๋ฆ„


widl - ์™€์ธ ์ธํ„ฐํŽ˜์ด์Šค ์ •์˜ ์–ธ์–ด(IDL) ์ปดํŒŒ์ผ๋Ÿฌ

๊ฐœ์š”


์œ„๋“ค [์˜ต์…˜] IDL_ํŒŒ์ผ
์œ„๋“ค [์˜ต์…˜] --dll ๋ฐ์ดํ„ฐ ์ „์šฉ name1 [name2...]

๊ธฐ์ˆ 


์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ํ”„๋กœ๊ทธ๋žจ์€ ํ—ค๋” ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ์•„๋งˆ๋„ ํด๋ผ์ด์–ธํŠธ์™€
์„œ๋ฒ„ ์Šคํ…, ํ”„๋ก์‹œ ๋ฐ dlldata ํŒŒ์ผ, typelib ๋ฐ UUID ํŒŒ์ผ
IDL ํŒŒ์ผ์˜ ๋‚ด์šฉ. ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ผ๋„ -c, -h, -p, -s, -t, -u or --๋กœ์ปฌ ์Šคํ…
์ฃผ์–ด์ง„๋‹ค, ์œ„๋“ค ์š”์ฒญ๋œ ํŒŒ์ผ๋งŒ ์ƒ์„ฑํ•˜๊ณ  ๋‹ค๋ฅธ ํŒŒ์ผ์€ ์ƒ์„ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋กœ ์‹คํ–‰ํ•  ๋•Œ
--dll ๋ฐ์ดํ„ฐ ์ „์šฉ, widl์€ dlldata ํŒŒ์ผ๋งŒ ์ƒ์„ฑํ•˜๋ฉฐ ์—ฌ๊ธฐ์—๋Š”
์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋œ ์ด๋ฆ„. ์ผ๋ฐ˜์ ์œผ๋กœ ์ด ํŒŒ์ผ์ด ์—…๋ฐ์ดํŠธ๋˜๋Š” ๋ฐฉ์‹์€ ๋งค๋ฒˆ ์œ„๋“ค is
์‹คํ–‰ํ•˜๋ฉด ๊ธฐ์กด dlldata ํŒŒ์ผ์„ ์ฝ๊ณ  ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋™์ผํ•œ ํŒŒ์ผ๋กœ ์žฌ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
์ด๋ฆ„ ๋ชฉ๋ก์ด์ง€๋งŒ ํ˜„์žฌ ํ”„๋ก์‹œ ํŒŒ์ผ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ธ์ˆ˜ ์—†์ด ์‹คํ–‰ํ•  ๋•Œ, ์œ„๋“ค ๋„์›€๋ง ๋ฉ”์‹œ์ง€๋ฅผ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค.

์˜ต์…˜


์ผ๋ฐ˜ ์˜ต์…˜ :

-V ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ์ธ์‡„ํ•˜๊ณ  ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

-์˜ํ˜•, --์ถœ๋ ฅ=name
์ถœ๋ ฅ ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์ถœ๋ ฅ ํŒŒ์ผ์„ ์ƒ์„ฑํ•  ๋•Œ ์ด ์„ค์ •์€
ํŒŒ์ผ์˜ ๊ธฐ๋ณธ ์ด๋ฆ„๋งŒ; ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ฐ ์ถœ๋ ฅ ํŒŒ์ผ์˜ ์ด๋ฆ„์ด ์ง€์ •๋ฉ๋‹ˆ๋‹ค. name.์‹œ๊ฐ„,
name_p.c ๋“ฑ

-b CPU ์ œ์กฐ์‚ฌ[-์ปค๋„]-os
ํฌ๋กœ์Šค ์ปดํŒŒ์ผํ•  ๋•Œ ๋Œ€์ƒ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์ƒ ์‚ฌ์–‘์€
์— ์˜ํ•ด ๋ฐ˜ํ™˜๋œ ํ‘œ์ค€ autoconf ํ˜•์‹ ๊ตฌ์„ฑ.ํ•˜์œ„.

ํ—ค๋” ์˜ต์…˜ :

-h ํ—ค๋” ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ถœ๋ ฅ ํŒŒ์ผ ์ด๋ฆ„์€ ์ธํŒŒ์ผ.h.

--์ด์ „ ์ด๋ฆ„
์˜ค๋ž˜๋œ ๋ช…๋ช… ๊ทœ์น™์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

ํƒ€์ž… ๋„์„œ๊ด€ ์˜ต์…˜ :

-t ํ˜•์‹ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ถœ๋ ฅ ํŒŒ์ผ ์ด๋ฆ„์€ ์ธํŒŒ์ผ.tlb. ๋งŒ์•ฝ ์ถœ๋ ฅ
ํŒŒ์ผ ์ด๋ฆ„์€ ๋‹ค์Œ์œผ๋กœ ๋๋‚ฉ๋‹ˆ๋‹ค. .์†Œ๊ณ ๊ธฐ, ํ˜•์‹ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํฌํ•จํ•˜๋Š” ์ด์ง„ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ์€
๋Œ€์‹  ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

-m32, -m64
Win32 ๋˜๋Š” Win64 ํ˜•์‹ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ๊ฐ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

UUID ํŒŒ์ผ ์˜ต์…˜ :

-u UUID ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ถœ๋ ฅ ํŒŒ์ผ ์ด๋ฆ„์€ ์ธํŒŒ์ผ_i.c.

ํ”„๋ก์‹œ/์Šคํ… ์„ธ๋Œ€ ์˜ต์…˜ :

-c ํด๋ผ์ด์–ธํŠธ ์Šคํ… ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ถœ๋ ฅ ํŒŒ์ผ ์ด๋ฆ„์€ ์ธํŒŒ์ผ_c.c.

- ์˜ค์Šค ์ธ๋ผ์ธ ์Šคํ…์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…• ๊ตฌ์‹ ํ•ด์„ ์Šคํ…์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

-์˜ค์ดํ”„, -์˜ค์ต, -์˜ค์ดํ”„
์™„์ „ํžˆ ํ•ด์„๋œ ์ƒˆ๋กœ์šด ์Šคํƒ€์ผ์˜ ์Šคํ…์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

-p ํ”„๋ก์‹œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ถœ๋ ฅ ํŒŒ์ผ ์ด๋ฆ„์€ ์ธํŒŒ์ผ_p.c.

--์ ‘๋‘์‚ฌ-๋ชจ๋‘=์ ‘๋‘์‚ฌ
ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์Šคํ… ๋ชจ๋‘์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋Š” ์ ‘๋‘์‚ฌ.

--์ ‘๋‘์‚ฌ-ํด๋ผ์ด์–ธํŠธ=์ ‘๋‘์‚ฌ
ํด๋ผ์ด์–ธํŠธ ์Šคํ…์˜ ์ด๋ฆ„์— ๋ถ™์ผ ์ ‘๋‘์–ด์ž…๋‹ˆ๋‹ค.

--์ ‘๋‘์‚ฌ-์„œ๋ฒ„=์ ‘๋‘์‚ฌ
์„œ๋ฒ„ ์Šคํ…์˜ ์ด๋ฆ„์— ๋ถ™์ผ ์ ‘๋‘์‚ฌ.

-s ์„œ๋ฒ„ ์Šคํ… ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ถœ๋ ฅ ํŒŒ์ผ ์ด๋ฆ„์€ ์ธํŒŒ์ผ_s.c.

--win32, --win64
๊ฐ๊ฐ 32๋น„ํŠธ ๋˜๋Š” 64๋น„ํŠธ ์ฝ”๋“œ๋งŒ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค(๊ธฐ๋ณธ๊ฐ’์€ ๋‘˜ ๋‹ค ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
32๋น„ํŠธ ๋ฐ 64๋น„ํŠธ ๋ฒ„์ „์„ ๋™์ผํ•œ ๋Œ€์ƒ ํŒŒ์ผ์— ์ €์žฅ).

--rt IDL์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์–ธ์–ด ํ™•์žฅ์„ ํ™œ์„ฑํ™”ํ•˜์—ฌ WinRT๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๋“ฑ๋ก ์Šคํฌ๋ฆฝํŠธ ์˜ต์…˜ :

-r ๋“ฑ๋ก ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ถœ๋ ฅ ํŒŒ์ผ ์ด๋ฆ„์€ ์ธํŒŒ์ผ_r.rgs. ๊ฒฝ์šฐ
์ถœ๋ ฅ ํŒŒ์ผ ์ด๋ฆ„์€ ๋‹ค์Œ์œผ๋กœ ๋๋‚ฉ๋‹ˆ๋‹ค. .์†Œ๊ณ ๊ธฐ, ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ์€
๋Œ€์‹  ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

DLL ๋ฐ์ดํ„ฐ ํŒŒ์ผ ์˜ต์…˜ :

--dll ๋ฐ์ดํ„ฐ ์ „์šฉ name1 [name2...]
์ง€์ •๋œ ํ”„๋ก์‹œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ dlldata ํŒŒ์ผ์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. NS
๊ธฐ๋ณธ ์ถœ๋ ฅ ํŒŒ์ผ ์ด๋ฆ„์€ dlldata.c.

์ „ ์ฒ˜๋ฆฌ๊ธฐ ์˜ต์…˜ :

-I ํ†ต๋กœ
๊ฒฝ๋กœ์— ํ—ค๋” ๊ฒ€์ƒ‰ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์ค‘ ๊ฒ€์ƒ‰ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.

-D id[=ํŒŒ]
์ „์ฒ˜๋ฆฌ๊ธฐ ๋งคํฌ๋กœ ์ •์˜ id ๊ฐ€์น˜์žˆ๋Š” ํŒŒ.

-E ์ „์ฒ˜๋ฆฌ๋งŒ ํ•ฉ๋‹ˆ๋‹ค.

-N ์ž…๋ ฅ์„ ์ „์ฒ˜๋ฆฌํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

๋””๋ฒ„๊ทธ ์˜ต์…˜ :

-W ํ˜„ํ•™์  ๊ฒฝ๊ณ ๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

-d n ๋””๋ฒ„๊ทธ ์ˆ˜์ค€์„ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜๋กœ ์„ค์ • n. ์ ‘๋‘์–ด๊ฐ€ ๋ถ™์€ ๊ฒฝ์šฐ 0x, ๊ทธ๊ฒƒ์€ ๋  ๊ฒƒ์ด๋‹ค
XNUMX์ง„์ˆ˜๋กœ ํ•ด์„๋ฉ๋‹ˆ๋‹ค. ๊ฐ’์˜ ์˜๋ฏธ๋Š” ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. DEBUG
์•ˆ๋‚ด

๊ทธ ์™ธ ์˜ต์…˜ :

-app_config
๋ฌด์‹œ๋จ, ์ค‘๊ฐ„ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

--๋กœ์ปฌ ์Šคํ…=ํŒŒ์ผ
๊ฐ์ฒด ์ธํ„ฐํŽ˜์ด์Šค์—์„œ call_as/local ๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•œ ๋นˆ ์Šคํ… ์ƒ์„ฑ ๋ฐ ์“ฐ๊ธฐ
๊ทธ๋“ค์—๊ฒŒ ํŒŒ์ผ.

DEBUG


๋””๋ฒ„๊ทธ ์ˆ˜์ค€ n ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„ ๋น„ํŠธ ๋งˆ์Šคํฌ์ž…๋‹ˆ๋‹ค.
* 0x01 ์–ด๋–ค ๋ฆฌ์†Œ์Šค๊ฐ€ ๊ตฌ๋ฌธ ๋ถ„์„๋˜๋Š”์ง€ ์•Œ๋ ค์ค๋‹ˆ๋‹ค(์ƒ์„ธ ๋ชจ๋“œ).
* 0x02 ๋‚ด๋ถ€ ๊ตฌ์กฐ ๋คํ”„
* 0x04 ํŒŒ์„œ ์ถ”์  ์ƒ์„ฑ(yydebug=1)
* 0x08 ์ „์ฒ˜๋ฆฌ๊ธฐ ๋ฉ”์‹œ์ง€
* 0x10 ์ „์ฒ˜๋ฆฌ๊ธฐ lex ๋ฉ”์‹œ์ง€
* 0x20 ์ „์ฒ˜๋ฆฌ๊ธฐ yacc ์ถ”์ 

onworks.net ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜จ๋ผ์ธ์œผ๋กœ i686-w64-mingw32-widl์„ ์‚ฌ์šฉํ•˜์„ธ์š”.


๋ฌด๋ฃŒ ์„œ๋ฒ„ ๋ฐ ์›Œํฌ์Šคํ…Œ์ด์…˜

Windows ๋ฐ Linux ์•ฑ ๋‹ค์šด๋กœ๋“œ

Linux ๋ช…๋ น

Ad