Кому верить?
Цитата из /proc/cpuinfo:
model name : Intel(R) Xeon(R) CPU E5462 @ 2.80GHz
cpu MHz : 2400.000
И с какой скоростью оно-таки работает? И если на 2.4, то почему?
Цитата из /proc/cpuinfo:
model name : Intel(R) Xeon(R) CPU E5462 @ 2.80GHz
cpu MHz : 2400.000
И с какой скоростью оно-таки работает? И если на 2.4, то почему?
Надо придумать бинарный файловый формат и запрограммировать на C++ загрузку/сохранение данных в этом формате. Подскажите, пожалуйста, что почитать на эту тему, типа надо ли использовать структуры данных, как объявлять как лучше поля, надо ли делать какие-то резервы в формате, хорошо ли смешивать текст и не текст и т.п.
Заранее спасибо за помощь.
Если bacula-director со всеми своими конфигами умер и на винте остались только бэкапы данных с других компов, которые он делал, то как из этих бэкапов что-то восстановить?
class Q
{
public:
int *data;
const int *getData() const { return data; }
};
void foo( const Q &aQ )
{
aQ.data[0] = 0;
}
void foo1( const Q &aQ )
{
aQ.getData()[0] = 0;
}
Почему foo1() не компилируется, а foo() компилируется?
Подскажите, пожалуйста, какие-нибудь более-менее готовые решения для сабжа. Например, можно было бы слушать логи smartd на предмет температуры и запускать нужные команды... Или ещё как-то. Лишь бы поменьше самому писать. В Debian Lenny желательно.
Заранее спасибо за помощь.
P.S. И для винды заодно! :-)
На вычислительной тачке с двумя четырёхъядерными процессорами E5462 в какой-то момент стали наблюдаться странные вещи. Если в параллельном расчёте участвует 5-е ядро, то параллельность хуже. Например, получается, что двумя потоками считается как одним. Если это ядро не участвует в расчёте, то результаты вполне ожидаемые вплоть до 6-ти потоков. На 8-ми уже как на 6-ти. Раньше всё было нормально и никакое определённое ядро не отличалось от остальных.
Как вообще такое может быть? Может, например, перегрев процессора привести к такому? Почему всё работает, но не параллелится?
Система и софт не не менялись гарантировано!
Раньше libxml2 читала большие текстовые данные кусками по несколько мегабайт и отдавала эти куски один за другим. Соответственно, не жрала память и справлялась с данными любого объёма.
Теперь она работает двумя способами: 1) по умолчанию читает данные до 10Мб, и если они больше, то просто обламывается и не работает; 2) с опцией XML_PARSE_HUGE читает всё, что может прочитать в память и только потом отдаёт данные. После отжирания нескольких гигов памяти затыкается, хз почему, и не работает. В итоге имеем полностью неработающую программу.
Как решать проблему?
Заранее спасибо за помощь.
P.S. Интерфейс xmlreader, так как нужны исключения C++.
Есть проприетарная прога. Для тестовых и экспериментальных нужд в ней используется GPL-ная либа. Всё пишется под #ifdef-ами. В варианте для заказчика, либа не линкуется, функциональность не доступна, так как код работы с этой либой просто не компилится. Правильно ли я понимаю, что это не является нарушением GPL?
Как считаете, что лучше, делать #include <stdint.h> или писать typedef unsigned int uint32_t?
P.S. #include <cstdint> не предлагать.
Подскажите, пожалуйста, книгу, в которой доступно и достаточно подробно описаны применяемые в криптографии генераторы случайных чисел от простых к сложным с описанием их свойств и недостатков.
Заранее спасибо за помощь.
P.S. Также интересует генерация случайных чисел на компьютере вообще. P.P.S. Numerical Recipes уже почитал...
Если одну и ту же программу, делающую вычисления с плавающей точкой, запускать несколько раз с неизменными входными данными, будет ли неизменным результат вычислений?
Вот такой код выдаёт ошибку компиляции на
i586-alt-linux-g++ (GCC) 4.4.1 20090725 (ALT Linux 4.4.1-alt1)
#include <iostream>
using namespace std;
template<class T>
struct A
{
template<class T1>
void foo( T1 * ) { cout << "foo(T1 *)" << endl; }
template<>
void foo<T>( T * ) { cout << "foo(T *)" << endl; }
};
int main()
{
A<int> a;
int q;
char c;
a.foo( &q );
a.foo( &c );
return 0;
}
$ g++ opyt.cpp
opyt.cpp:19: error: explicit specialization in non-namespace scope ‘struct A<T>’
opyt.cpp:20: error: template-id ‘foo<T>’ in declaration of primary template
icpc (ICC) 10.1 20080801
при этом компилирует и код работает как надо.
Это глюк g++? Его можно как-то обойти?
Надо сделать некую обёртку, чтобы передав в неё любой объект, адрес любого его метода и параметры метода, можно было бы вызвать этот самый метод объекта с этими самыми параметрами из нескольких разных потоков синхронизуясь через mutex, например.
Кто знает, где можно нечто подобное подглядеть?
Заранее спасибо за помощь.
Я примерно представляю, как это сделать в нашей программе, но надо бы проконсультироваться с кем-то ещё...
Как думаете, если сделать
#define throw error
нормально будет?
А как лучше сделать?
Есть ли в природе программа, которая могла бы отследить и показать подключённые флэшки под иксами и вызвать для них по клику мышки команды pmount/pumoun? На подобие соответствующего плазмоида в KDE4 только не привязанная к DE.
Заранее спасибо за помощь.
P.S. Надоело, знаете ли dmesg | tail и pmount /deb/sdb1 вручную каждый раз писать... Можно что-то из ivman/halevt соорудить, но не знаю, какая прога мне список показывать будет и на клики реагировать.
P.P.S. Автомонтирование ненавижу.
Подскажите, пожалуйста, книгу, в которой написано, как писать быстрые программы на Java. Интересует в первую очередь быстрая работа с большими одномерными массивами, например скалярное произведение больших векторов.
Заранее спасибо.
Я тут бегло почитал инет на тему Java for C++ programmers и так и не понял, есть ли в в Java виртуальные функции. Может пропустил?
У меня есть текстовый файл. Хочу встроить его в свою программу на С++, чтобы в рантайме к этому тексту можно было обратиться как к char *.
Должно работать на Линуксе и винде, не требовать ручной модификации файла, встраиваться в процесс компиляции программы.
Как такое можно сделать?
Заранее спасибо за помощь.
Дайте совет, как убедить начальника, что при сдаче очередной версии программы заказчику надо заводить отдельную ветку в CVS. Начальнику не нравится, что приходится коммитить сразу в две ветки (HEAD и версия) и ветки могут разойтись. Про merge он знает, но не понимает, нафига он нужен, ибо не понимает зачем нужна отдельная ветка. Вот как-то так...
Заранее спасибо за помощь.
Хочу, чтобы при рекурсивном вызове функции вылетало заданное исключение. Как?
Заранее спасибо за помощь.
следующие → |