Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Linux __asm__ tutorial __asm__ tutorial нужно вставить немного кода на асме для чтения rdtsc, подскажите пожалуйста пару тройку туториалов по встраиванию инструкций асма в g++ https://www.cyberforum.ru/ cpp-linux/ thread48846.html xlib cairo утечка памяти C++ Linux
xlib cairo утечка памяти #include "xlib_cairo_window.h" #include <iostream> void xlib_cairo_window::paint() { XEvent e; cairo_show_page(cr); while(1) { XNextEvent(dpy, &e); if(e.type==Expose && e.xexpose.count<1) {
C++ Linux Простейшие системные программы. Нужны примеры Купил сегодня книгу Роберта Лава "Linux. Системное программирование". Да, книга в принципе неплохая, но одна проблемка - очень мало примеров. Буду очень благодарен если кто-нибудь даст примеры элементарных программ, ну или подскажет что можно самому для начала скомпилить. Желательно самый элементарный уровень... https://www.cyberforum.ru/ cpp-linux/ thread48664.html C++ Linux Выполнение кода в динамически выделяемой памяти https://www.cyberforum.ru/ cpp-linux/ thread48033.html
Есть код... #include <stdlib.h> #include <stdio.h> #include <string.h> #include <sys/mman.h> #include <errno.h> #define PAGESIZE 4096 void f1()
Обработку xml сообщения на языке Си C++ Linux
Нужно сделать обработку xml сообщения на языке Си под FreeBSD! кто уже делал подскажите как это лучше сделать! заранее спасибо!!!
C++ Linux Какой-то баг в GCC Переставил FreeBSD с 6 на 7. После этого перестала линковаться программа - компилируется без ошибок, но линковщик пишет /var/tmp//ccsaOcQc.o(.gnu.linkonce.t._ZN7CCookie7SetListERKSsS1_+0x66): In function `CCookie::SetList(std::string const&, std::string const&)': : undefined reference to `CCookie::week4' /var/tmp//ccsaOcQc.o(.gnu.linkonce.t._ZN7CCookie7SetListERKSsS1_+0x70): In function... https://www.cyberforum.ru/ cpp-linux/ thread47432.html
C++ Linux Не находит sqlplus.hh https://www.cyberforum.ru/ cpp-linux/ thread47359.html
Ознакомился с тутором на http://www.enderunix.org/documents/eng/mysql++.html установил себе на FreeBSD 7.0 этот API , но ситуация такая , что компилятор g++ не находит заголовочный файл sqlplus.hh и в системе его нет. В интернете я решений не нашел. Компилирую так : g++ -D_FIX_FOR_BSD_ -I/usr/local/include/mysql -L/usr/local/lib -lsqlplus create_table.cpp -o create_table. На что получаю :...
C++ Linux Создание системы тестирования ПО.
Собственно,хотел написать скрипт по тестированию программы отсюда https://www.cyberforum.ru/cpp-beginners/thread41218.html .В сети нашёл кое-какие примеры,например перенаправления вывода программы,но всё это мне не подходит,мне нужен вывод последней строки,попавшей в cerr. Кратко-в программе имеется парсер,на входе файл с намеренной ошибкой,парсер должен отреагировать,и нужно сравнить последнюю...
C++ Linux Makefile: как с использованием gcc строить автоматические зависимости от .h файлов? Как с использованием gcc строить автоматические зависимости от .h файлов (чтобы постоянно не менять Makefile при изменении структуры include'ов)? https://www.cyberforum.ru/ cpp-linux/ thread46096.html C++ Linux Eclipse-как сделать exe https://www.cyberforum.ru/ cpp-linux/ thread45329.html
У меня такая проблема: кто работает на еклипсе, и кто может подсказать можно ли с етой среды сделать что-то вроди exe-файла, например такого как делается на си++ во время компиляции???
Два процесcа могут использовать общий <map> ? C++ Linux
Поясните пожалуйста - суть вопроса такова Есть глобальный <map> почему дочернии процессы изминяя в нем данные - то другие процессы не видят изминения ! Вот пример кода
C++ Linux Ищу хороший самоучитель по Xlib Посоветуйте плз, учебник по xlib. (если таковой существует). https://www.cyberforum.ru/ cpp-linux/ thread45042.html
1 / 1 / 1
Регистрация: 29.08.2009
Сообщений: 63
0

линковка шаблона - C++ Linux - Ответ 258389

05.09.2009, 08:47. Показов 1283. Ответов 1
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
линковка шаблона

Код
#ifndef intrusive_list__HHHH
#define intrusive_list__HHHH
struct link_err {
	string s;
	link_err(const char* pc):s(pc){}
};
struct slink { //base class for intrusive single linked list
	slink* next;
	slink(slink* p=0):next(p) {}
};
template<class T> class intrusive_list {
	T *head;
	T *last;
	unsigned int s;
//	size_t s;
	public:
	class iterator {
		T* p;
		public:
		iterator(T* pp):p(pp) {}
		iterator& operator++(int ) { p=static_cast<T*>(p->next); return *this; }
		T& operator*() { return *p; }
		bool operator==(const iterator& i) { return p==i.p; }
		bool operator!=(const iterator& i) { return p!=i.p; }
	};
	intrusive_list():head(0),last(0),s(0) {}
	iterator begin() { return iterator(head); }
	iterator end() { return iterator(0); }
	void push_front(T& t) ; 
	void push_back(T& t) ; 
	iterator& erase(iterator& i) {
		if (!s) throw link_err("empty error");
		s--;
		if (!s)  { 
			head=last=0;
			return 0;
		}
		if ( head == i.p ) {
			head=i.p->next;
			i.p->next=0;
			i++;
			return i;
		}
	}
};


template<class T> void intrusive_list<T>::push_front(T& t) { 
	s++;
	t.next=head;
	if(! last) last=&t;
	head=&t;
	return;
}
template<class T> void intrusive_list<T>::push_back(T& t) { 
	s++;
	if(! last)  head=last=&t;
	else {
		last->next=&t;
		last=&t;
	}
	return;
}
#endif
как вынести erase за пределы объявления класса? (чтобы получилось как push_front,push_back)

как вынести определения push_front,push_back,erase в отдельный translation unit?

Вернуться к обсуждению:
линковка шаблона C++ Linux
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2009, 08:47
Готовые ответы и решения:

Линковка либов)
#include &lt;cstdio&gt; #include &lt;unistd.h&gt; #include &lt;pthread.h&gt; void func1(void) { for...

Динамическая линковка
Привет! Делаю лабу...

Статическая линковка
Здравствуйте! У меня есть несколько файлов и мне нужно сделать из них статическую библиотеку вроде...

Линковка библиотек gcc под линукс
Подключаю Oracle Instant Client, скачал файлики rpm с ихнего сайта, установил их в линуксе (у меня...

1
05.09.2009, 08:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2009, 08:47
Помогаю со студенческими работами здесь

Для использование шаблона переменной требуется список аргументов шаблона
Здравствуйте! Не могу понять в чём проблема. //ALL2.cpp #include &quot;pch.h&quot; #include &lt;iostream&gt;...

Gtest, доступ к элементам базового класса-шаблона без указания параметров шаблона. баг или фича?
Всем привет. Продолжаю экспертизу gtest/gmock. Количество ошибок и багов зашкаливает. ...

Определение метода-шаблона за пределами шаблона класса
День добрый! Разбираюсь в шаблонах, решил копнуть поглубже. Вот пример: template &lt;typename T1&gt;...

Линковка
Проблема с линковкой. Приложение компилируется, а когда доходит до стадии линковки выводит ошибку:...

Qt 5.1.1 статическая линковка
Да, наверное такая тема часто проскальзывает, но я все равно не понял...(( Я начал изучать Qt и...

Статическая линковка Qt 5.6
Решил я обновить Qt до 5.6. После чего надо было собрать комплект статической сборки. Решил...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru