Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 252
от 26.11.2005, 12:15

Администратор:Калашников О.А.
В рассылке:Подписчиков: 241, Экспертов: 31
В номере:Вопросов: 4, Ответов: 10


Вопрос № 29869: Как правильно вставить в СИ код ASM? Компилятор для ДОСа (Turbo C++) ругается на метки: undefined label "@read" и так далее на каждую... CBuilder6 компилирует его без проблем, но тут же вылазит другая неприятность, он ругается ниже на ...
Вопрос № 29886: Нужно реализовать цикл, который перкращает работу при нажатии на определенную клавишу (все равно какую). P.S. реализовать надо на С. Заранее спасибо!!...
Вопрос № 29887: Здравствуйте, уважаемые эксперты! Пишу Borland C++ Builder 6. Скажите пожалуйста, какие документы (стандарты) определяют по каким правилам делать те или иные отступы: писать "a = b" вместо "a=b"? Или надо-ли делать пробел пере...
Вопрос № 29911: У меня есть компилятор Mingw. Допустим есть файл simple.c, как мне его откомпилировать (посмотреть результат его выполнения)... ...

Вопрос № 29.869
Как правильно вставить в СИ код ASM? Компилятор для ДОСа (Turbo C++) ругается на метки: undefined label "@read" и так далее на каждую...
CBuilder6 компилирует его без проблем, но тут же вылазит другая неприятность, он ругается ниже на ДОС-функцию outport()

Приложение:

Отправлен: 20.11.2005, 15:02
Вопрос задал: Tohey (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: RedDevil
Здравствуйте, Tohey!
Метки нужно делать не в асме, а в Си. И обычно никакакой собаки ставить не нужно:
char CPI_read()
{
asm {
mov cx,8
mov dx, PRN_dat
cli
}
read:
asm {
mov al,80h
out dx,al
mov bx,wdel
}
d1:
asm {
dec bx
jnz d1
mov dx,PRN_inp
in al,dx
rcl al,1
rcl ah,1
mov dx,PRN_dat
mov al,0
out dx,al
mov bx,wdel
}
d2:
asm {
dec bx
jnz d2
loop read
sti
not ah
mov al,ah
}
}
Ответ отправил: RedDevil (статус: 1-ый класс)
Отправлен: 21.11.2005, 07:39
Оценка за ответ: 5


Вопрос № 29.886
Нужно реализовать цикл, который перкращает работу при нажатии на определенную клавишу (все равно какую).

P.S. реализовать надо на С.

Заранее спасибо!!
Отправлен: 20.11.2005, 18:46
Вопрос задал: Liger Dennis (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Бартунов Сергей Олегович
Здравствуйте, Liger Dennis!
В приложении консольная программа

Приложение:

---------
Небо для Всех

Ответ отправил: Бартунов Сергей Олегович (статус: 5-ый класс)
Отправлен: 20.11.2005, 18:52

Отвечает: estiGi
Здравствуйте, Liger Dennis!
Цикл надо делать тогда в отдельном потоке:

bool doLoop;

DWORD WINAPI LoopThread (void * flag);

void CreateLoop () {

doLoop = true;
CreateThread (NULL, NULL, LoopThread, (void *)&doLoop, NULL, 0);
}

void OnFinishLoop () {
doLoop = false;
}

DWORD WINAPI LoopThread (void * flag) {

while (*(bool*)flag) {
// loop ...
}
}
Ответ отправил: estiGi (статус: 7-ой класс)
Отправлен: 20.11.2005, 19:05

Отвечает: RedDevil
Здравствуйте, Liger Dennis!
#include <conio.h>

int main() {
cprintf("Press any key to continue:");
while(!kbhit()) ;
cprintf(" A key was pressed... ");
return 0;
}
Ответ отправил: RedDevil (статус: 1-ый класс)
Отправлен: 20.11.2005, 21:53


Вопрос № 29.887
Здравствуйте, уважаемые эксперты!
Пишу Borland C++ Builder 6. Скажите пожалуйста, какие документы (стандарты) определяют по каким правилам делать те или иные отступы: писать "a = b" вместо "a=b"? Или надо-ли делать пробел перед открывающей скобкой?
Отправлен: 20.11.2005, 18:55
Вопрос задал: Стомов Евгений (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Jadd
Здравствуйте, Стомов Евгений!
Чаще всего это внутренние правила. Посмотрите, как билловские (из мелкософта) программеры оформляют код. Да и другие. Делайте выводы какой код читабельнее.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Отправлен: 20.11.2005, 19:03
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ!
Разви "билловские" программеры выставляют свой код на показ?

Отвечает: Romodos
Здравствуйте, Стомов Евгений!
Нет никаких стандартов. Каждый программист решает для себя, как писать. Это исключительно дело стиля. Есть только хороший стиль. И им надо руководствоваться.
---------
FAQ me off!
Ответ отправил: Romodos (статус: Студент)
Отправлен: 20.11.2005, 20:02
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ!
>Есть только хороший стиль.
Отсюда вопрос - что есть этот хороший стиль?

Отвечает: Бартунов Сергей Олегович
Здравствуйте, Стомов Евгений!
Это вопрос Стиля Программирования. Как правило, программист сам выбирает свой стиль или же он фиксирован в некотором проекте или в некоторой фирме. Никаких стандаартов по этому вопросу не существует кроме того, что исходник с тупым стилем сложно читать.
---------
Небо для Всех
Ответ отправил: Бартунов Сергей Олегович (статус: 5-ый класс)
Отправлен: 20.11.2005, 20:49

Отвечает: RedDevil
Здравствуйте, Стомов Евгений!
В моем понимании таких документов нет и не будет. Правил нет, есть стиль - стиль

программирование, как правило он вырабатывается со временем, с приходом опыта. Когда

пишешь код нужно писать его в первую очередь для людей, для того чтобы они могли

разобраться в нем, а во-вторую для машины. Могу лишь книгу посоветовать Стандартны

программирования на С++, 101 правило и рекомендация, Герб Саттер, Андрей Александреску (13

мб).
http://www.natahaus.ru/2005/11/14/satter__amp__aleksandrescu_101_coding_rules.html
Ответ отправил: RedDevil (статус: 1-ый класс)
Отправлен: 20.11.2005, 21:53
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ!
Но ведь если пишешь для людей, то эти люди давно-бы объединились и сказали, как им лучше читается...

Отвечает: Ataman N. N.
Здравствуйте, Стомов Евгений!
Обычно компиляторы игнорируют лишние пробелы. Использование пробелов может лишь улучшить читаемость кода.
Ответ отправил: Ataman N. N. (статус: 2-ой класс)
Отправлен: 21.11.2005, 15:22


Вопрос № 29.911
У меня есть компилятор Mingw.
Допустим есть файл simple.c, как мне его откомпилировать (посмотреть результат его выполнения)...
Отправлен: 21.11.2005, 02:14
Вопрос задал: Barb (статус: 2-ой класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: koshi
http://www.mingw.org/docs.shtml#compilingandbuilding
---------
Don't worry by groovy
Ответ отправил: koshi (статус: 1-ый класс)
Отправлен: 21.11.2005, 17:47


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100 hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=314124&im=101&r="+escape(document.referrer)+"&pg="+ escape(window.location.href); document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N"); hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+ (((navigator.appName.substring(0,3)=="Mic"))? screen.colorDepth:screen.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; document.write("HotLog")

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Архив рассылки
Отписаться
Вспомнить пароль

В избранное