как пользоваться -fshort-double опцией gcc?

gcc

#include <stdio.h>
int main(){
double r = 5;
printf("r=%f size=%d\n", r, sizeof(double) );
return 0;
}

при компиляции gcc prob.c все работает как предполагается.
если зделать
gcc -fshort-double prob.c

то получается (vmware) вот такой результат вывода:
r=0.000000 size=134513316

Я получал даже отрицательный size на дедике... И кроме того r не равно тому, чему должно быть равно.
Пробовал на дедике (там двухядерник с х86_64 архитектурой), там size=4, но r=0, что все равно не верно.
Что я делаю не так?

вот страничка с документацией по опции
http://gcc.gnu.org/onlinedocs/gcc-4.3.5/gcc/Code-Gen-Options.html#Code-Gen-Options

Примечание:
> float тебя спасёт без изврата.

мне хочется в существующем проекте сделать double 4хбайтовым (2х еще лучше, но это отдельный вопрос)
Ответы:
float тебя спасёт без изврата.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.