🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #575

Re: Opcje linkera

#575
From: Paweł Pawlak
Date: Mon, 28 Aug 2006 18:58
94 lines
4016 bytes
Dnia 8/28/2006 10:33 AM, Bogdan (bogdro) wrote:
> Remek napisał(a):
>> Witam!
>>
>> Czy mógłby mnie ktoś poratować wiedzą - co oznaczają opcje
>> link.exe z Masm32v8:
> 
> /dll, /vxd - wiadomo, robią bibliotekę DLL i sterownik VxD.
> /debug* - wiadomo, dodaje symbole debugowania
> /warn - wiadomo, włącza ostrzeżenia
> /subsystem - wybiera "typ" programu - GUI czy nie, z grubsza mówiąc
> /stack, /heap - wiadomo, stos i sterta: ile zarezerwować i ile od razu
> uruchomić
> /version - już odpowiedziano
> /machine - wiadomo, typ procka
> /libpath - wiadomo, ścieżka do bibliotek
> 
>  Do kilku innych mam przypuszczenia, ale nie będę wprowadzał w błąd.
> Bo pewnie się okaże, że 'link /?' sam się przyzna. Jak nie ma takiej
> opcji, to czy może nie ma gdzieś manuala do programu link?
> 

To może i ja dorzucę...

/ALIGN:#
wyrównanie sekcji (domyślnie 0x200). Jak dasz mniejsze wyrównanie, to 
exek może zająć mniej miejsca, ale może być nieuruchamialny w Win9x 
(zresztą linker chyba wysyła takie ostrzeżenie).


/DEBUGTYPE:{CV|COFF}
typ informacji dla debuggera (CodeView lub COFF)


/DEF:filename
jak tworzysz DLL-a, to z tego pliku są wczytywane funkcje, które będą 
eksportowane (za pomocą tego pliku można również spowodować, że funkcje 
będą eksportowane tylko przez indeks, albo z innymi nazwami niż w kodzie)


/MERGE:from=to
służy do łączenia sekcji. Osiągnięty zysk rozmiaru zależy od ilości 
sekcji i wyrównania sekcji


/NOENTRY
przydatne chyba tylko przy bibliotekach (DLL). Oznacza, że biblioteka 
nie ma funkcji "startowej" uruchamianej po jej załadowaniu.


/NOLOGO
nie wyświetla kopyrajtów linkera


/OUT:filename
określa plik wynikowy (jeśli nie chcesz, aby linker zapisał plik pod 
domyślną nazwą)


/SECTION:name,[E][R][W][S][D][K][L][P][X]
określa atrybuty sekcji


/STUB:filename
określa dosową część, która będzie umieszczona przed nagłówkiem PE - o 
ile oczywiście masz jakiś własny program i chcesz nim zastąpić 
standardowe wyświetlenie napisu "This program must be run under Win32" 
czy coś ten deseń


/SWAPRUN:{CD|NET}
Określa, czy exek będzie ładowany z CD czy z zasobu sieciowego. Gdy 
tworzysz instalator, który podczas pracy będzie wymagał zmiany płyty, 
powinieneś zaznaczyć przy linkowaniu (bądź później), że będzie 
uruchamiany z CD - w ten sposób system odczyta exek w całości i uruchomi 
go z pliku wymiany.


Jeśli jeszcze chodzi o edycję nagłówka exeka (już po linkowaniu), to 
może się przydać opcja /EDIT, czyli np.

link -edit -swaprun:cd mojinstalator.exe

spowoduje, że w nagłówku exeka zostanie zmieniona flaga oznaczająca 
sposób uruchamiania.


Do listowania funkcji eksportowanych można użyć opcji -dump -exports, np:

link -dump -exports kernel32.dll


Pozdrawiam,
Morris
Technical Details
Message-ID: <ecvefm$j4e$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!newsfeed.silweb.pl!newsfeed.pionier.net.pl!news.gazeta.pl!not-for-mail
References: <ecth35$1u6$1@inews.gazeta.pl> <ecu9to$t55$1@nemesis.news.tpi.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!newsfeed.silweb.pl!newsfeed.pionier.net.pl!news.gazeta.pl!not-for-mail
From: Paweł Pawlak <morr!s@elys!um.pl>
Newsgroups: pl.comp.lang.asm
Subject: Re: Opcje linkera
Date: Mon, 28 Aug 2006 20:58:13 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 94
Message-ID: <ecvefm$j4e$1@inews.gazeta.pl>
References: <ecth35$1u6$1@inews.gazeta.pl> <ecu9to$t55$1@nemesis.news.tpi.pl>
NNTP-Posting-Host: epc186.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1156791607 19598 83.20.44.186 (28 Aug 2006 19:00:07 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Mon, 28 Aug 2006 19:00:07 +0000 (UTC)
X-User: mickey_knox
X-Antivirus: avast! (VPS 0635-0, 2006-08-28), Outbound message
In-Reply-To: <ecu9to$t55$1@nemesis.news.tpi.pl>
X-Antivirus-Status: Clean
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; pl-PL; rv:1.8.0.5) Gecko/20060721 SeaMonkey/1.0.3
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit