From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 22 Feb 2006 17:23:44 +0300 From: Serge Skorokhodov X-Mailer: Voyager (v3.65.02) Professional Organization: F.F.Yu.D. X-Priority: 3 (Normal) Message-ID: <1321247301.20060222172344@mtu-net.ru> To: ALT Linux Community In-Reply-To: <43FC69F4.5010409@iop.kiev.ua> References: <43FC4A2E.5030302@iop.kiev.ua> <20060222115141.GG19814@damir.rnd.local> <43FC5E46.9000909@iop.kiev.ua> <20060222125640.GH19814@damir.rnd.local> <43FC69F4.5010409@iop.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit Subject: Re: [Comm] value overflow on C X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.6 Precedence: list Reply-To: Serge Skorokhodov , ALT Linux Community List-Id: ALT Linux Community List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Feb 2006 14:24:34 -0000 Archived-At: List-Archive: List-Post: >>> Есть еще идеи? >>> >> Написать на асме функцию сложения, использующую этот флаг и >> использовать ее, определив как inline для ускорения например. >> Правда это непортабельно. >> >> > Не хочу, а придется. Но, кажется, должно быть чисто сишное > решение. Может еще кто что скажет? По определению языка C возможность отслеживать переполнение целочисленных типов не предусмотрена:( Так что надо смотреть в сторону непереносимых платформозависимых решений и расширений конкретного компилятора для конкретной платформы. Помимо написания на [встроенном] asm'е, можно еще подумать про псевдопеременные-регистры типа _EAX и т.д. (в нашем случае нужен регистр флагов процессора). Есть ли такие возможности в Вашем компиляторе для Вашей целевой платформы: к языку С никакого отношения;) При необходимости оформить что-либо платформозависимое для нескольких платформ в языке С обычно используют макроопределения;) Вот и все идеи, которые приходят в голову... ;) -- Best regards, Serge Skorokhodov