Помогите написать нечто похожее для QNX C/C++, если это возможно. Вот образец на Delphi: function GetTSC : Int64; assembler; asm $0F, $31 { RDTSC: TSC --> EDX:EAX } end; ...................... ...................... ...................... var I64 : Int64; begin I64 := GetTSC; Sleep(100); I64 := GetTSC - I64; ShowMessage('CPU MHZ: ' + IntToStr(I64 div 100000)) end; КАК НА QNX C/C++ НАПИСАТЬ ПОДОБНУЮ ФУНКЦИЮ GetTSC???
qnx какое? номер? х86? > 6? то там гцц. посмотрите в доке как делать асм вставки в гцц < 6? ватком - смотрим соответственно ну и всегда можно извратиться int foo(...) char m[] = { 0xf, 0x31, 0x8b, 0x4c, 0x24, 4, 0x89, 0x11, 0xc3 }; long (*tsc)(long* b); long a, b; (char*)tsc = m; a = tsc(&b); .......... }
QNX ver 6.3.0 Momentics qcc (*) Сам я с ней не знаком. Попросили узнать те, кто в ней работают, но asm не используют. Оказалось, что в (*) существует функция ClockCycles, которая и вызывает RDTSC. В принципе assembler уже не нужен(для RDTSC), но если у кого-нибудь есть время, напишите ассемблерную вставку для возврата 64-разрядного результата в паре регистров(например EDX:EAX). Увы, на работе только 1 компьютер с выходом в интернет, и обычно он занят, а печатной документации нет. ----------------------------------------------------------------------------------------- Ну, почему же это извращение? Функция ближнего вызова(ret), не удаляющая переданный ей DWORD-параметр(адрес) и возвращающая <по-умолчанию> в EAX младшую часть значения TSC, по адресу - старшую часть TSC(из EDX). Функция состоит из четырёх команд: rdtsc ; TSC --> EDX:EAX mov ecx, [esp+4] mov [ecx], edx ret находится в сегменте данных и вызывается через указатель на функцию. Такое можно и на Паскале написать(вообще на любом языке с поддержкой процедурных типов). Правда речь шла о С/C++.
Вообще кто знает? хорошо ли продаются проги под системы реального времени? ( давненько тестил QNX, можно былоб чегонить под неё и написать... )
wasm_user qcc это оболочка вокруг гцц. ин-С-шный асм, те, гццовый. +есть портированый насм. кроме того, раз линкаются ельфы, то можно попробовать использовать любой асм дающий выход объектника в этом формате и как это по кнх нет доки?? а справка? а буки? а qdn? и по гцц все есть. гдето читал, что и сорсы они выложили.. featurelles что в кнх плохо, так это цена и неудобный порядок лицензирования, потому лично я предпочитаю п9, которое идет под почти бсд-лиц (есть оговорка, что в какойто момент наследники белов могут отказаться от нее и дальнейшие версии станут платными, но отфоркаться ж ничего не мешает) и внутренняя архитектура/дровостроительство как минимум не хуже. есть и реал, и нереал планировщики, какой вкомпелите а как с заказами под qnx (вас ведь охота кнх, а не какойнить всворкс, правда?) - погуглите по доскам|тематическим форумам.