Forum: PC-Programmierung Programmierung MSC/C++ V7.0 1995


von Wolfgang (Gast)


Lesenswert?

Hallo,
ich hatte einen Totalabsturz bei einem 15 Jahre alten Rechner, alles war 
weg. Hatte zufällig noch Programmfragmente und die Programmiersoftware. 
Compilieren funktioniert, beim Linken habe ich folgende Fehlermeldung, 
siehe unten.

Wer kann mir weiterhelfen.

Vielen Dank

MSC/C++ V7.0

Geben Sie Ihren Text in das Feld unten ein.
NMAKE /I /f c:\windows\temp\PWB01640.mak all
Microsoft Program Maintenance Utility version 1.20

echo > Nul @.\DOS_51.lrf
link @.\DOS_51.lrf

Microsoft(R) Segmented Executable Linker Version 5.31.009 Jul 13 1992

Object Modules [.obj]: .\DOS_51.obj
Run Files [DOS_51.exe]:.\DOS_51.exe
List File [nul.map]: NUL
Liberies [.lib]: +
Liberies [.lib]: +
Liberies [.lib]:
Definitions File [nul.def]: /NOI/BATCH/ONERROR:NOEXE  EXE  FAR 
/PACKC;C:\C/==\LIB\SLIBCE.lib(\mrt7\common\mantold.asm):error 
L1010:_Text:segment size exceeds 64k
C:\c700\LIB\SLIBCE.lib(\mrt7\common\mantold.asm): warning L4020:_Text: 
code-segment size exceeds 64k-36
Link: fatal error L1071: segment _Text exceeds 64k-16

von High Performer (Gast)


Lesenswert?

Du verwendest bei Compilieren und evtl. Linken ein Speichermodell, das 
nur sogenannte "Near"-Zeiger verwendet. Damit wird dann das 
Programmsegment ("_text") auf 64k begrenzt. Zumindest bei 
Borland-Compilern gab es WIMRE "große" Speichermodelle, z.B. LARGE und 
HUGE. Leider kann ich Dir nicht sagen, wie man das bei MS-Compilern 
einstellt.

Ich sehe gerade, Du verwendest eine SLIBCE.lib. Das "S" wird evtl. für 
"short" stehen (also 64k-Segmente). Du müsstest nun vermutlich dafür 
sorgen, dass Compiler und Linker ein großes Speichermodell verwenden.

Hoffe das hilft ein wenig weiter.

von ... (Gast)


Lesenswert?

High Performer schrieb:
> Das "S" wird evtl. für "short" stehen

Eheer "small" :)
AFAIK war die entdsprechende Option bei dem Compiler /Ax, wobei x für 
das Speichermodell stand.

T   Tiny
S   Small (default)
C   Compact model
M   Medium model
L   Large model
H   Huge model

Also /AT, /AS, /AC, /AM, /AL, und /AH

von High Performer (Gast)


Lesenswert?

>Eheer "small" :)

Ja, hast ja Recht, hatte es einfach nur hingeklatscht, um dem TS einen 
Hinweis zu geben, wo das Problem liegen könnte.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.