🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.pascal
Article #92621

Dość trudne...

#92621
From: Andrzej Grażyński
Date: Wed, 17 Sep 2008 19:58
81 lines
2070 bytes
{ BP 7 }

Rozwiązanie 1:

Procedure MyProc(X:PChar);
begin
   ...
end;



...

MyProc('TAKI SOBIE STRING');


================================


Rozwiązanie 2:

Procedure MyProc(const X:String);
begin
   ...
end;



...

MyProc('TAKI SOBIE STRING');

===========================

Rozwiązanie 1 ma pewną wadę w stosunku do Rozwiązania 2. Jaką ? 
Odpowiedź poniżej (nie każę zgadywać, bo rzecz dość ciekawa).

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

W Rozwiązaniu 1 string 'TAKI SOBIE STRING' trzymany jest w segmencie 
danych, w którym w BP każdy bajt jest na wagę złota (bo jest max 64K na 
całą app).


W Rozwiązaniu 2 string 'TAKI SOBIE STRING' trzymany jest w segmencie 
kodu. Co prawda każdy segment kodu jest też max 64K, ale aplikacja może 
zawierać wiele takich segmentów.


Umieszczanie w segmencie danych stringów zastępujących parametry PChar 
było konieczne dla prawidłowego działania programów z nakładkami. Dla 
kompatybilności jednak jest ono stosowane przez kompilator zarówno w 
nienakładkowanych programach trybu Real, jak i w trybie Protected.
Technical Details
Message-ID: <garnhn$1gu$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
References: <20080905121945.03f2cdf2.solaris@be.inspired>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
From: Andrzej Grażyński <grazynsk@petex.com.pl>
Newsgroups: pl.comp.lang.pascal
Subject: Dość trudne...
Date: Wed, 17 Sep 2008 21:58:41 +0200
Organization: Onet.pl
Lines: 88
Message-ID: <garnhn$1gu$1@news.onet.pl>
References: <20080905121945.03f2cdf2.solaris@be.inspired>
NNTP-Posting-Host: 83-238-237-192.adsl.inetia.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1221681527 1566 83.238.237.192 (17 Sep 2008 19:58:47 GMT)
X-Complaints-To: usenet@news.onet.pl
NNTP-Posting-Date: Wed, 17 Sep 2008 19:58:47 +0000 (UTC)
X-Sender: 2ysppuKZfnIJFd8Xm5/5BA==
In-Reply-To: <20080905121945.03f2cdf2.solaris@be.inspired>
User-Agent: Thunderbird 2.0.0.16 (Windows/20080708)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit