• ↓
  • ↑
  • ⇑
 
15:23 

Полосатый_Пофигист
На самом деле я футом выше и стройный, но для художника это была тяжёлая ночь.
Всем доброго времени суток!
Требуется небольшая помощь разбирающегося в Access, желательно срочно, а то мне уже сдаваться с заданием, так что актуально до завтрашнего утра по мск ._."
Если найдутся желающие, то выложу файл с тем, что сделано, чтобы можно было в нём покопаться и ткнуть меня носом в мою лажу.

тупой и ещё тупее

@темы: Вопрос, Access

09:22 

Интересная задача - 2

Trotil
Рассмотрим такой пример:



По входным данным x и y вычисляются массивы sum, product, update_me, sum_product:

sum[i]=x[i]+y[i];
product[i]=x[i]*y[i];
even[i]=i*2;
sum_product[i]=sum[i]+product[i];

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

• вычислить следующий sum[i] и поместить в память это значение
• вычислить следующий product[i] и поместить в память это значение
• вычислить следующий even[i] и поместить в память это значение
• вычислить следующий sum_product[i] — на этой стадии придется снова загружать из памяти подсчитанные sum[i] и product[i].

Можно подумать, что четвёртый шаг не оптимальный. В самом деле: подсчитанные sum[i] и product[i] не обязательно снова загружать из памяти, ведь мы их только что подсчитали.
Но оказывается, что никакие ключи оптимизации для данного C-кода не позволят использовать значения, сохранённые в регистрах, полученные на шагах 1 и 2.

Вопрос 1: попробуйте объяснить такое "неоптимальное" поведение компилятора
Вопрос 2: попробуйте предложить решение (если оно есть), которое позволит избежать лишних чтений данных из памяти.

21:44 

[TrusT]
задрот в различнейших областях
Уважаемые пользователи Azure (если такие есть)
нужен ответ на вопрос - Требования к техническому и программному обеспечению сервера. Сервер - Azure, на сервере - сайт и маленькая бд
не подскажете эти самые минимальные требования? не могу что-то отыскать (для пояснительной диплома)

@темы: Вопрос

00:20 

Интересная задача

Trotil
Если скомпилировать код ниже в Visual Studio x86 (Visual Studio Tools - командная строка разработчика для VS, команда "cl test.c" ) программа скопилируется, успешно выполнится и на консоль будет выведено: Result: Goodbye! (проверялось в 2010 и 2015 версии)
Но если этот код скомпилировать в gcc x86-64 под Linux, то исполняемая программа будет падать в Segmentation Fault.

Убедитесь в этом сами и попробуйте ответить, почему в Linux программа падает? Почему в Windows программа успешно работает? Для поиска ответа могут понадобиться средства отладки.

#include <string.h>
#include <stdio.h>

void copystring(char *s)
{
strcpy (s, "Goodbye!");
printf ("Result: %s\n", s);
};
int main()
{
copystring ("Hello, world!\n");
};

21:46 

RCA1802

CD_Eater
тролль - это не только ценный жир, но и 3-4 легкоусвояемых коммента ежедневно
Чего только не выдумают на белом свете...

Есть такое чудо без перьев - процессор (микроконтроллер, по-современному) RCA1802
у него нет стандартных команд CALL / RET для вызова подпрограмм, вместо этого есть команда "назначить любой регистр (а их там 16) счётчиком инструкций"
Назначая другой регистр счётчиком инструкций, мы автоматически прыгаем на адрес, содержащийся в нём сейчас, и этот регистр дальше начинает автоматически инкрементироваться, указывая на текущую инструкцию.
Вызов процедуры и возврат производились этой самой инструкцией, так чтобы внешний код (вызывающий процедуру) работал с одним регистром в качестве счётчика инструкций, а внутренний код (тело процедуры) - с другим регистром.
Чтобы вызвать ту же процедуру повторно, её код должен быть зациклен (нам же нужно попасть на его начало).

А как же быть со вложенными вызовами и нормальными (незацикленными) процедурами?
Для этого обычные CALL и RET эмулировались программно.
Т.е, была подпрограмма, эмулирующая CALL, которая вызывалась описанным выше способом (через переключение на её счётчик инструкций), смотрела на следующие 2 байта во внешнем коде, интерпретировала их как адрес нужной процедуры, сохраняла в (программно эмулируемый) стек адрес возврата, переключалась на нужную подпрограмму.
И была подпрограмма, аналогично эмулирующая RET.

Итого по регистрам:
Для подпрограмм CALL и RET резервировались (программно) два регистра, указывающие на их код.
Плюс ещё регистр для эмуляции стека.
Плюс ещё регистр для счётчика инструкций (который работал вне процедур CALL и RET).
Итого накладные расходы в 4 регистра, которыми нельзя пользоваться для других целей (из них 2 - это указатель инструкций и указатель стека, т.е., накладные расходы, неизбежные в любой архитектуре).

Мне кажется, это красивое архитектурное решение.
"Микрокод" (грубо говоря, требуемое количество транзисторов) получается проще некуда. Для сравнения, аппаратное выполнение обычного CALL довольно сложное.
Для вызова нерекурсивных процедур стек не нужен (и аппаратно стек не поддерживается).
Вызов часто использующихся простых процедур производится проще и быстрее за счёт отсутствия сложной логики обычного CALL, просто роль счётчика инструкций передаётся другому регистру.

@темы: архитектура, там, на неведомых дорожках припаян неведомый микроконтроллер

12:13 

(int)NaN

CD_Eater
тролль - это не только ценный жир, но и 3-4 легкоусвояемых коммента ежедневно
Как известно, не-x86-ое железо - это миф, придуманный эпплом, чтобы продавать больше маков. )))

Но вдруг у вас сейчас под рукой имеется это самое мифическое не-x86-ое железо с Си-компилятором на нём?
Тогда посчитайте, пожалуйста, что получится, если "скастовать" NaN к целому типу?

#include <stdio.h>

int main()
{
double x = 0.0/0.0; // NaN
printf("%lx\n",(long)x);
return 0;
}


На x86-железе конвертация происходит через x87 FPU (в полном соответствии с Intel-овской спецификацией) и получается MIN_INTEGER (пишет на экране 8000000000000000)
А что происходит на другом железе? Какие значения там могут получиться?

Обратите внимание, что если выражение (long)NaN будет вычисляться в момент компиляции, то ответ может быть численно другой (напр., gcc в таких случаях ставит 0)!
Интересует значение, которое получается именно в рантайме на разном железе.
Возможно, придётся поставить volatile или как-то по-другому отключить оптимизацию.

Также стоит на всякий случай обратить внимание, что (long)NaN это совсем не то же самое что *(long*)(&NaN) - получаются разные численные результаты.
В первом случае действует некоторая нетривиальная логика, не фиксированная стандартом языка Си,
а во втором случае получаем вполне ожидаемое битовое представление плавучки согласно IEEE 754.

Что у вас есть под рукой? Мак, роутер, андроид? Попробуйте.

@темы: C++, NaN, Вопрос, железо

02:39 

Томита

Полбутылки сентября
Некрасивая подружка
Привет. Кто-нибудь использовал Томита-парсер в собственных проектах? Как впечатления? Может что-то еще из этой серии посоветуете?

@темы: Вопрос

10:54 

Упорядочность массива

Akuma no Himitsu
"С обычными дураками не так весело танцевать, как с сдвинутыми" (с)
Добрый день!
Есть вот такое задание: "Проверить, упорядочен ли массив по возрастанию."
И на данных примерах проверяется:
Ввод 1 Ввод 2 Ввод 3
3
1
2
3
 
3
1
3
3

3

1

5

3

 
Вывод 1 Вывод 2 Вывод 3
yes
 
yes
 

no



И есть вот решение задачи.
Но при вводе второго значения, или первого, сразу же выдает yesyes,
в чем может быть ошибка?
Может, надо было упорядочить массив самому?
Но тогда теряется сам смысл задачи.
Премного буду благодарен за помощь!

И чтобы два раза не писать.
читать дальше

@темы: C++, Алгоритм, Вопрос

23:32 

Arduino, Processing

Л. Просто Л.
Здравствуйте! Есть тут кто-нибудь, кто разбирается в языке программирования для Arduino и в Processing?
Хочу с двух аналоговых входов снимать данные и записывать в текстовый файл.
Задача чисто учебная, ардуинки нет, проверить, работает ли оно, не могу(( А занимаюсь этим без году неделю.
Поэтому очень прошу, посмотрите, пожалуйста :small:

скетч Arduino

Через Processing я пытаюсь с COM-порта получить данные и вот тут начинается непонятное...
Ориентировалась на осциллограф (Arduino/Processing - ближе к концу статьи).

скетч Processing и вопросы

Очень надеюсь, что кто-нибудь откликнется. Надо срочно, буквально сегодня-завтра утром.
Заранее спасибо!

@темы: Arduino, Processing, Вопрос

16:29 

формеление приложения написанного в MFC и перенос в Qt посредстов

Есть приложение написанное с помощью MFC. В нём содержатся ChildView и MainFrm, первый унаследованный от CWnd, второй от CFrameWnd. Как мне оформить это приложение в ActiveX для последующего применения в Qt?

@темы: C++

15:15 

CD_Eater
тролль - это не только ценный жир, но и 3-4 легкоусвояемых коммента ежедневно
Ах, какая полезная обзорная лекция для Java-программиста, начинающего свою карьеру!

@темы: Java

16:44 

по Delphi вопрос (скоро диплом сдавать, активировалась)))

.Тапка.
в общем, у меня приложение - интерфейс для бд. в нем нужно внутри с данными из бд производить кое-какие расчеты, потом по результатам строить график. как достать для этого данные из бд? как это называется вообще? что бы найти можно было.

@темы: Delphi, Firebird

21:37 

.Тапка.
можно ли как-то в делфи организовать, что бы в поле таблицы БД можно было выбирать из двух вариантов - да или нет? (в самой бд хранятся нули и единицы)
одногрупница говорит что можно, но никак не получается это нагуглить.

@темы: Delphi, Firebird

15:21 

[TrusT]
задрот в различнейших областях
Дано: база данных, в которую через серверное приложение могут добавляться таблицы.
Вопрос - с помощью чего (как) реализовать интернет-приложение (сайт) на c#, в котором можно будет считывать данные с появляющихся таблиц. Почему вопрос возник - думала сделать mvc-приложение, но там вроде как модель не обновляется из кода.
Пример - в серверном приложении загрузили новые данные в базу, ссылка на новую таблицу в базе есть, надо получить данные в интернет-приложении.
+! Легче ли будет написать вместо интернет-приложения приложение на Андроид (никогда до этого не работала вообще с разработкой приложений на андроид)?

@темы: Интернет, Вопрос, База данных, C#

11:33 

Многоуровневая кликабельная картинка-ссылка

Здравствуйте, вопрос от полного нуба. Можно ли сделать так, чтобы используя HTML тэг href сделать многоступенчатую матрешку? Т.е. открываешь первую картинку - видишь вторую, кликаешь на нее - открывается третья, кликаешь на третью - открывается нужная ссылка? Не то, чтобы href был принципиален, но это нужно для формата dairy.ru и вроде бы именно это здесь обычно используют.
Пока что все, чего мне удалось добиться методом тыка - это три отдельные картинки, ведущие на одну ссылку.



Или кликабельная картинка ведет на просто картинку, открывающуся в отдельном окне и все, тупик. А нужно, чтобы она открывалась на этой же странице, как заглушка и была активной. Т.е. своего рода многоуровневая заглушка-матрешка.
Нужно, наверное, как-то встраивать код в середину кода - код картинки в середину кода href target, но я не могу понять и ухватить логику.
Если можно, покажите как, пожалуйста.

@темы: Вопрос

16:27 

База данных

blackhawkjkee
Здравствуйте, хотелось бы обратиться за помощью к знающим людям, потому что сам не могу разобраться да и вообще плохо дружу с С++.

Итак, задание такое:
Написать базу данных для аптеки. В программе должны быть функции переименования/удаления/добавления и так далее; это не особо важно.
Проблема заключается в том, что программа не хочет нормально сохранять/открывать файл, все остальное работает нормально. При этом функция сохранения вроде работает, но открыть этот файл не получается.

Сам код:
http://pastebin.com/zPSMfLUi


Заранее спасибо!

@темы: C++

12:26 

"Красивые" домены не получаются

.Тапка.
Хотела сделать домены для бд для определения пола, и домены "логические", что бы можно было писать только "да" или "нет". Но ошибка, не знаю в чем. Подскажите как исправить и вообще возможно ли такое сделать.

@темы: SQL, InterBase, Firebird

08:56 

.Тапка.
подскажите пожалуйста литературу на тему разработки приложений на Delphi + InterBase(Firebird). А то информации ищется полезной очень мало, и источники сомнительные.

@темы: Delphi

20:19 

Извращения со стеком

CD_Eater
тролль - это не только ценный жир, но и 3-4 легкоусвояемых коммента ежедневно
Господа, поясните пожалуйста, зачем нужна эта красная зона в стеке?
Что этим пытаются выиграть? И выигрывают ли что-нибудь?
Чем это лучше, чем старый добрый способ (sub ESP,nnnn в вызванной функции)?

@темы: Вопрос, Assembler, ABI

21:58 

Во всём виноваты программисты

CD_Eater
тролль - это не только ценный жир, но и 3-4 легкоусвояемых коммента ежедневно
А бывает ли ущерб от ошибок программиста ещё больше, чем в этой истории 1991 года (по-русски)?

Тут тоже интересно: http://en.wikipedia.org/wiki/Cluster_%28spacecraft%29

@темы: Рубрика "Истории успеха" из журнала "Баговодство"

ru_programming

главная