Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

шотавыменясовсемзапутали))

Отправлено колян безпарольный 28 ноября 2009, г. 01:34
В ответ на: Или тебе интересно, как написать функцию, которая при этом не сглючит? Вот тут железнодорожнки чуть ниже правильно советуют про семафоры. отправлено пользователем Шунт_гороховый 27 ноября 2009, г. 23:47

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

a[0]=b[0]+c[0];

втури первого потока соответсвенно

a[1]=b[1]+c[1];

и такдалее.
написал макрос

#define ABC(z) a[z]=b[z]+c[z]

и внутри нулевого потока пишу

ABC(0);

внутри первого

ABC(1);

и такдалее.
Но в реальности то строк выполняться должно куда больше, и в дифайне в конце каждой строки надо ставить \, а это Очень напрягает. ВОт я и думаю, а если сделать не дифайн а функцию

void ABC(char z)
{a[z]=b[z]+c[z];
}

то корректно ли будет вся хрень работать.На обычном си понятно, будет каша, обращение по любому к одному и томуже адресу. А вот С++ обращается по адресу или всетаки использует копию функции ABC. Можно ли из потоков вызывать копии функции? Но без классов.


Составить ответ | Вернуться на конференцию.

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

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

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru