Интересует такая таблица: размер данных в си - размер данных в асм к примеру: long = dd к примеру и тд.
printf("%d", sizeof( int )); выводится текущая длина типа в байтах (в данном случае int-a). для любого типа включая строки, структуры и массивы. однозначный перевод для всех компилеров не будет до конца верным.
но в этом то и проблема. на разных компиляторах Си одни типы данных будут различны. например тот же int варьируется 32/16 в зависимости от режима работы проца. для 16 битного режима это dw, а для 32 битного режима это dd. тоже было и с real, а потом появлялись всякие short, long и long long
Я кажется совсем из ума выжил, но веть можно и так: DWORD t1, BYTE t2, DWORD t3, DWORD t4, BYTE t5, DWORD t6, или я что то не понимаю?
Ну или там(мануал FASM) Таблица 1.1 Размеры операторов -----------T------T-------¬ ¦ Оператор ¦ Биты ¦ Байты ¦ ¦==========+======+=======¦ ¦ byte ¦ 8 ¦ 1 ¦ ¦ word ¦ 16 ¦ 2 ¦ ¦ dword ¦ 32 ¦ 4 ¦ ¦ fword ¦ 48 ¦ 6 ¦ ¦ pword ¦ 48 ¦ 6 ¦ ¦ qword ¦ 64 ¦ 8 ¦ ¦ tbyte ¦ 80 ¦ 10 ¦ ¦ tword ¦ 80 ¦ 10 ¦ ¦ dqword ¦ 128 ¦ 16 ¦ L----------+------+--------
Что сам-то не написал? #include <stdio.h> int main () { printf (" int %d bytes\n", sizeof (int)); printf (" short %d bytes\n", sizeof (short)); printf (" long %d bytes\n", sizeof (long)); printf (" char %d bytes\n", sizeof (char)); printf (" float %d bytes\n", sizeof (float)); printf ("double %d bytes\n", sizeof (double)); printf (" bool %d bytes\n", sizeof (bool)); getchar (); return 0; }