Страница 5 из 7

Re: Переход от асма к си

Добавлено: Ср сен 21, 2016 12:42:12
ARV
СЦБист писал(а):   A a;
убивал бы за такое :)))

Re: Переход от асма к си

Добавлено: Ср сен 21, 2016 13:18:45
СЦБист
что сложно понять что это работает ?

жаль что вы не знаете что такое ссылки.

хотя откуда вам знать. в си их нету )))))

Re: Переход от асма к си

Добавлено: Ср сен 21, 2016 14:20:48
ARV
да хватит тут уже нас с открытиями знакомить... давайте вернемся к теме топика вами же начатого.

Re: Переход от асма к си

Добавлено: Ср сен 21, 2016 17:04:28
shindax
СЦБист писал(а):..жаль что вы не знаете что такое ссылки.
хотя откуда вам знать. в си их нету )))))
А где тут ссылки-то? Я вот вижу простую работу с обычными указателями.

Re: Переход от асма к си

Добавлено: Чт сен 22, 2016 08:01:35
COKPOWEHEU
Оченя жаль что тут никто не понимает не Си не С++
Очень жаль что ты не знаешь не только С или С++, но даже русского языка.
Но ты задом не верти, я от тебя просто так не отстану, "спыцылыст по всему".
СЦБист писал(а):не путай си и с++. у них разные операторы выделения кучи.
Так как выглядит оператор "выделения кучи" на чистом Си?

Re: Переход от асма к си

Добавлено: Чт сен 22, 2016 09:25:10
botchin
Выделение кучи
Я так и не могу понять о чем въ здесь? Может мне не хватает понимание русского язъка? Но въ ни о чем не говорите.

Вот ответ на google твоему вопросу
Google.ru
Въбирай себе на вкус и давайте по теме. А то душу "кучами" засорили.

Re: Переход от асма к си

Добавлено: Чт сен 22, 2016 09:32:02
Siarzhuk
СЦБист писал(а): А те кто понимают - то сразу поймут в чем аналогия.

Код: Выделить всё

[...]
struct A
[...]
void f(A *a) {cout<<")))))))))))))) "<<a<<" "<<a->x<<endl;}

int main() 
{
	A a;
[...]
}
В сюхе это не соберётся - потому как тип A не известен компилятору, не говоря о потоковом убожестве с его кривопо́́пыми операторами вывода. А в плюсах с таким-же успехом можно сделать f() методом структуры. Забавный метод искать аналогию между синонимами одной и той-же сущности.

Re: Переход от асма к си

Добавлено: Чт сен 22, 2016 09:51:14
Siarzhuk
botchin писал(а):Я так и не могу понять о чем въ здесь? Может мне не хватает понимание русского язъка?
"Выделение кучи" - это резервирование памяти и создание инфраструктуры для работы с этой памятью по heap схеме. В МК производится как правило в startup части кода ещё до передачи управления в main(). Оппонент же имел ввиду "динамическое выделение блока памяти" которое имеет место во время нормального исполнения программы. Тем, кто желает реально чему-то научиться, подобные очевидные мелочи как правило прощаются, в конце концов для того и форум, чтобы делиться знаниями и помогать. А вот желающих посамоутверждаться не имея за душой элементарного знания базовых понятий ждёт КМБ и бесконечные зацепки к частностям. К людям - по человечески, а троллям - тро́́ллево.
По существу темы - нету никакого такого перехода - есть изучение сюхи с нуля. Потому как "рельсы в мозгах перекладывать надо". dixi

Re: Переход от асма к си

Добавлено: Чт сен 22, 2016 10:20:07
botchin
Siarzhuk писал(а):В сюхе это не соберётся ......, не говоря о потоковом убожестве ....
Да и работа с потоками в етом виде (cout<<")))))))))))))) "<<a<<" "<<a->x<<endl) появилось впервъе в С++. В "чистом" С такое нет. Я впервъе встретил его (cout<<")))))))))))))) "<<a<<" "<<a->x<<endl) в Микрософт С7 (если паметь мне не изменяет) - первое С++ с Майкрософта.

Так, что если спорите про С++ и "чистом" С извольте примеръ писать как положено.

Давайте возвращайтесь к теме.

Re: Переход от асма к си

Добавлено: Пт сен 23, 2016 16:13:44
СЦБист
В Студии 4 хрень с типом char

по умолчанию оно принимает положительные числа от 0 до 255.

в Си и ++ это не так

Код: Выделить всё

char x = 0;
    x--;
    if (x < 0) 
    std::cout << (int)x;
проверенно экспериментально.

для перевода в знаковый тип надо писать

signed char

Re: Переход от асма к си

Добавлено: Пт сен 23, 2016 17:25:31
COKPOWEHEU
Очередные кулстори от нуба. Он не в курсе что размер char'а и наличие знака в Си не стандартизовано. И это тело что-то там вякает про незнание другими языка Си. Ну и вдруг кому пригодится (СЦБист'у все равно не хватит мозгов воспользоваться) флаг -fsigned-char / -funsigned-char.

Re: Переход от асма к си

Добавлено: Сб сен 24, 2016 11:34:08
СЦБист
COKPOWEHEU сразу видно что вы не плавали в с с ++

тип чар - знаковый. тип unsigned char беззнаковый.

в студии тип чар беззнаковый. а signed char знаковый.

говорю сразу - я тебя учить не буду.
shindax писал(а):[q
А где тут ссылки-то? Я вот вижу простую работу с обычными указателями.

в си их нету

Re: Переход от асма к си

Добавлено: Сб сен 24, 2016 12:26:38
COKPOWEHEU
Ты совсем читать не умеешь? Повторяю: в Си размер и наличие знака у большинства стандартных типов данных (char, int) не стандартизовано. Оно может меняться в зависимости от компилятора.
в студии тип чар беззнаковый. а signed char знаковый.
То есть ты даже не знаешь какой компилятор используется Сутдией? Ты вообще хотя бы пару компиляторов (не путать с IDE) назвать можешь?
говорю сразу - я тебя учить не буду.
Еще не хватало чтобы такой двоечник меня учить пытался.

Re: Переход от асма к си

Добавлено: Сб сен 24, 2016 12:35:44
СЦБист
COKPOWEHEU писал(а):Т в Си размер и наличие знака у большинства стандартных типов данных (char, int) не стандартизовано. .

что за лапша.

все что без приставки unsigned это знаковый тип.

и это стандарт. тогда бы нафик не нужны были б эти приставки.

Re: Переход от асма к си

Добавлено: Сб сен 24, 2016 12:39:21
Reflector
СЦБист писал(а): все что без приставки unsigned это знаковый тип.

и это стандарт. тогда бы нафик не нужны были б эти приставки.
Т.е. про приставку signed ты даже не слышал?

Re: Переход от асма к си

Добавлено: Сб сен 24, 2016 12:45:34
Siarzhuk
СЦБист писал(а):тип чар - знаковый. тип unsigned char беззнаковый.

в студии тип чар беззнаковый. а signed char знаковый.
char, unsigned char, signed char - это три отдельных типа. Знаковость первого зависит от желания тех, кто пилил используемый компилятор и, как правило, может быть изменено в настройках компилятора.

Re: Переход от асма к си

Добавлено: Сб сен 24, 2016 12:50:45
Siarzhuk
СЦБист писал(а):
все что без приставки unsigned это знаковый тип.

и это стандарт.
Стандарт С с этим не согласен:
There are three character types, designated as char , signed char, and unsigned char.


Стандарт C++ ешё более многословен:
C++ Standard §3.9.1 Fundamental types

Objects declared as characters (char) shall be large enough to store any member of the implementation’s basic character set. If a character from this set is stored in a character object, the integral value of that character object is equal to the value of the single character literal form of that character. It is implementation-defined whether a char object can hold negative values. Characters can be explicitly declared unsigned or signed. Plain char, signed char, and unsigned char are three distinct types. [...]

Re: Переход от асма к си

Добавлено: Сб сен 24, 2016 13:30:01
COKPOWEHEU
Siarzhuk писал(а):Знаковость первого зависит от желания тех, кто пилил используемый компилятор и, как правило, может быть изменено в настройках компилятора.
Флаги типа char для gcc я даже приводил -fsigned-char и -funsigned-char но как и ожидалось, СЦБист не осилил.

Re: Переход от асма к си

Добавлено: Сб сен 24, 2016 13:36:58
СЦБист
Может кому-то пригодится набор функций для установки , сброса, проверки битов .

правда для одно байтовых переменных, но если голова варит, то можно преобразовать и в

многобайтовые.

Код: Выделить всё

#define TRUE  1
#define FALSE 0


void Set_Bit(uint8_t *y, const uint8_t n)
{
       if (n > 7) return;       

       uint8_t x = 1;

	   x <<= n;

	   *y |= x;
}

void Reset_Bit(uint8_t *y, const uint8_t n)
{
       if (n > 7) return;       

       uint8_t x = 1;

	   x <<= n;

	   x = ~x;

	   *y &= x;  
     
}

uint8_t Proverka_Bit(const uint8_t *y, const uint8_t n)
{
       if (n > 7) return FALSE;       

       uint8_t x = 1;

	   x <<= n;

	   x &= *y;

	   if (x > 0) return TRUE; 

	   else return FALSE;  
}

Re: Переход от асма к си

Добавлено: Сб сен 24, 2016 15:00:32
Siarzhuk
СЦБист писал(а):Может кому-то пригодится набор функций для установки , сброса, проверки битов .
Oui-i-i... Такую красоту разве что на www.radiokot.in оценят. ;-D