LINUX.ORG.RU

Сообщения Tsahes

 

Overloading функции базового класса

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

Вот пример:

/*Base.h*/
class Base {
public:
~virtual Base(void);
void add(void);
protected:
Base(void);
};

/*Base.cpp*/
Base::Base(void) {};
~Base::Base(void) {};
void Base::add(void) {};


/*Extended.h*/
class Extended : public Base {
public:
Extended(void);
~Extended(void);
void add(int i);
};

/*Extended.cpp*/
Extended::Extended(void) : Base() {};
~Extended::Extended(void) {};
void Extended::add(int i) {
add(); // <--- вот здесь no matching function for call to `Extended::add()'
};

Tsahes
()

Корректно возвращено значение?

Что-то я не понимаю, корректно ли будет работать следующий код:

static const char *showbits(int count)

{

if (count > 32) return "*too many bits*";

return 0;

}

Не будет память, занятая под массив char, помещена как свободная после выхода из функции showbits?

Tsahes
()

Копирования массива

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

Tsahes
()

Работа с файлами > 2.5 Gb

Не могу получить правильное значение позиции курсора. Пробую создать файл, размер которого будет превышать 2 Gb.

int fd = open64 ("aaa", O_RDWR | O_CREAT | O_TRUNC);

long long int off = fseek64 (fd, 0, SEEK_SET);

И fseek64() не возвращает нулевое значение.

Tsahes
()

Потестируем инкремент!

Отвлекитесь на минуту...

#include <stdio.h>
int main (int argc, unsigned char **argv) {
  int i = 0;
  i = i++;
  printf ("i = %d\n", i);
  return 0;
}

Какое значение i будет выведено?
Tsahes
()

О прикручивании графического интерфейса

Хотелось бы разделить приложение на часть, ответственную за основную логику работы, и часть, ответственную за представление информации пользователю. Что выбрать в качестве средства реализации графического интерфейса?

QT, я думаю, предназначен для создания только графических приложений. Было бы странным запускать все приложения, имеющие интерфейс пользователя на основе QT, при помощи вызова QApplication::exec ( ).

Tsahes
()

ASN . 1: посоветуйте компилятор

Единственно известный мне - snacc, начал читать фокументацию. Интересно услышать мнение людей, использующих ASN.1, о том, насколько сравнимы по эффективности открытые и платные компиляторы.

Tsahes
()

Значение по умолчанию для элемента структуры

Неужели нельзя в C указать значение по умолчанию для некоторого элемента структуры?

Tsahes
()

Скрипт для работы по ssh

Скрипт на bash должен организовать ssh-соединение, выполнить
определенные действия на удаленной машине и разорвать соединение. Для установки соединения использован expect.

ssh_conn
#! /usr/bin/expect
spawn ssh host -x
expect {
  password: {send "password\r"
  interact $spawn_id
  }
}

Как теперь в скрипте bash выполнить что-нибудь на удаленной стороне
и закрыть соединение?

#!/bin/bash
./ssh_conn
...?
Tsahes
()

Загрузочный образ FC2 для дискеты

Мой домашний cdrom не позволяет загружаться с установочного диска FC2. На самом диске загрузочного образа для дискеты - нет... Вот для cdrom он есть. Может, посоветуете что-нибудь.

Tsahes
()

ООП на C

Подскажите, какие есть материалы по применению принципов ООП при написании програм на C?

Tsahes
()

В поисках ARM

Люди! Помогите отыскать "The Annotated C++ Reference Manual" Эллис и Страуструпа, Оригинал или на русском.

Может, у кого есть ссылка? А в магазинах ее уже как 12 лет нет?

Tsahes
()

Обработка вывода find

Здравствуйте.

#!/bin/bash
find . -mtime +1 -maxdepth 1 -type f \
-exec echo "filename with point and slash: {}" ';'

Как бы вывести только имена файлов?
Или я не умею применять basename к {} ?
Tsahes
()

Описание Q.931

Описание протокола H.225 пестрит ссылками на Q.931. Спецификация ITU-T на сигнализацию Q.931, помогите ее найти.

Tsahes
()

Удаление веток в CVS

Уважаемые! Читаю cvs-rus. Помогите удалить tag новой ветви, созданной как:
`cvs tag -b branch_tag`

При помощи `cvs tag -d branch_tag` он не удалится, а `cvs admin -o branch_tag` удалит ревизию.
Tsahes
()

Определения типа чипсета MB

В каком файле встречается упоминание о типе чипсета? До недавнего времени тип чипсета материнской платы я получал из файла /proc/pci, а сейчас столкнулся с тем, что lspci говорит о 815 чипсете, а в указанном файле это не отражено.

Tsahes
()

Unable to mount root fs

Прошу сразу не отсылать в сад, поиск не помог.
На жестком диске три раздела: winxp, linux (ext3 fs) и swap; в ядро _встроена_ поддержка ext2 и ext3. Загрузчик - GRUB:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You do not have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,1)
#          kernel /boot/vmlinuz-version ro root=/dev/hdg2
#          initrd /boot/initrd-version.img
#boot=/dev/hdg
default=1
timeout=5
splashimage=(hd0,1)/boot/grub/splash.xpm.gz
title Red Hat Linux (2.4.24)
	root (hd0,1)
	kernel /boot/vmlinuz-2.4.24 ro root=LABEL=/
	initrd /boot/initrd-2.4.24.img
title Red Hat Linux (2.4.20-8)
	root (hd0,1)
	kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/
	initrd /boot/initrd-2.4.20-8.img
title WinXP
	rootnoverify (hd0,0)
	chainloader +1

Так вот, ядро 2.4.20-8 с таким конфигом грузится, а 2.4.24 нет:
...skip...
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 221K fried
VFS: Mounted root (ext2 filesystem).
Mounting: /proc filesystem
Creating block devices
VFS: Cannot open root device "LABEL=/" or 00:00
Please append a correct "root=" boot option
Kernel panic: VFS: unable to mount root fs on 00:00

То есть не может выполниться "mkrootdev /dev/root" при загрузке.
Помогите, менял в grub.conf "root=LABEL=/" на "root=(hd0,1)", не помогло..
Tsahes
()

Простой ssl-клиент

Кто-нибудь сталкивался с ssl-клиентами-серверами? При компиляции программы c функциями openssl получаю "undefined reference" на следующие, по меньшей мере: OpenSSL_add_all_algorithms (); OpenSSL_add_all_ciphers (); OpenSSL_add_all_digests (); Они все используют библиотеку libcrypto, которая у меня лежит в /lib Пакет openssl.0.9.7a, под RH9. На RH7.3 та же ерунда. Может быть, вы сталкивались с этим. Помогите.

Tsahes
()

RSS подписка на новые темы