2013-02-18 4 views
0

나는 코드 컴파일을 위해 명령 행을 사용하는 것에있어서 매우 새로운 것이므로 D 컴파일러가 소스 코드가 아닌 코드를 특정 위치로 컴파일하는 방법을 궁금해하고있다. 마지막으로 .exe와 obj 코드를 모두 특정 디렉토리에 넣고 싶습니다. -of 명령을 사용할 수는 있지만 현재이 명령을 사용하는 형식을 알지 못합니다. 현재 내가 가지고 :다른 위치로 컴파일하는 방법

C:\D\dmd2\windows\bin\dmd.exe -w C:\Users\Kyle\Desktop\D\Test.d C:\Users\Kyle\Desktop\D\src\MyMod.d 

내가 추가해야합니까?

답변

2

-offilename 스위치를 사용하십시오. 예 :

dmd factorial.d -offilename "d:\test_name.exe" 

또는 짧은 버전 :

dmd factorial.d "-ofd:\test_name.exe" 

참고 : 경로에 공백이 포함 된 경우 따옴표가 필요합니다.

주 2 : 짧은 버전에서는 .exe을 건너 뛸 수 있지만 컴파일러는 해당 이름의 소스 파일을 검색하기 때문에 전체 버전에서는 수행하지 마십시오.

+3

필자는'dmd factorial.d "라고 생각했습니다. -ofd : \ test_name.exe" –

+0

@ratchetfreak this 역시 마찬가지입니다. – sigod

+1

DMD 도움말에서 스위치가 무엇인지 명확하지 않기 때문에 -of 및 -offilename을 모두 허용합니다. – DejanLekic

0

-of, -od-op 스위치를 살펴보십시오. "특정 위치에 모든 코드를 컴파일"하여 정확히 무엇을 의미하는지 알지 못하면 더욱 구체적입니다.

1

나는 사람들이 RTFM 답변을 싫어하는 알고 있지만, 다음은 귀하의 질문에 응답 RTFM 응답의 종류 :

dmd --help을 실행하고 다음과 같은 얻을 것이다 :

DMD32 D Compiler v2.061 
Copyright (c) 1999-2012 by Digital Mars written by Walter Bright 
Documentation: http://www.dlang.org/index.html 
Usage: 
    dmd files.d ... { -switch } 

    files.d  D source files 
    @cmdfile  read arguments from cmdfile 
    -c    do not link 
    -cov   do code coverage analysis 
    -D    generate documentation 
    -Dddocdir  write documentation file to docdir directory 
    -Dffilename write documentation file to filename 
    -d    silently allow deprecated features 
    -dw   show use of deprecated features as warnings (default) 
    -de   show use of deprecated features as errors (halt compilation) 
    -debug   compile in debug code 
    -debug=level compile in debug code <= level 
    -debug=ident compile in debug code identified by ident 
    -debuglib=name set symbolic debug library to name 
    -defaultlib=name set default library to name 
    -deps=filename write module dependencies to filename 
    -g    add symbolic debug info 
    -gc   add symbolic debug info, pretend to be C 
    -gs   always emit stack frame 
    -H    generate 'header' file 
    -Hddirectory write 'header' file to directory 
    -Hffilename write 'header' file to filename 
    --help   print help 
    -Ipath   where to look for imports 
    -ignore  ignore unsupported pragmas 
    -inline  do function inlining 
    -Jpath   where to look for string imports 
    -Llinkerflag pass linkerflag to link 
    -lib   generate library rather than object files 
    -man   open web browser on manual page 
    -map   generate linker .map file 
    -noboundscheck turns off array bounds checking for all functions 
    -O    optimize 
    -o-   do not write object file 
    -odobjdir  write object & library files to directory objdir 
    -offilename name output file to filename  <---- [1] 
    -op   do not strip paths from source file 
    -profile  profile runtime performance of generated code 
    -property  enforce property syntax 
    -quiet   suppress unnecessary messages 
    -release  compile release version 
    -run srcfile args... run resulting program, passing args 
    -unittest  compile in unit tests 
    -v    verbose 
    -version=level compile in version code >= level 
    -version=ident compile in version code identified by ident 
    -vtls   list all variables going into thread local storage 
    -w    warnings as errors (compilation will halt) 
    -wi   warnings as messages (compilation will continue) 
    -X    generate JSON file 
    -Xffilename write JSON file to filename 

내가 표시를 귀하의 질문에 대한 답변은 [1]과 화살표로 표시됩니다.

관련 문제