![]() |
|
Другие темы раздела | |
C++ Linux __asm__ tutorial
https://www.cyberforum.ru/ cpp-linux/ thread48846.html __asm__ tutorial нужно вставить немного кода на асме для чтения rdtsc, подскажите пожалуйста пару тройку туториалов по встраиванию инструкций асма в g++ |
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);... |
C++ Linux Простейшие системные программы. Нужны примеры Купил сегодня книгу Роберта Лава "Linux. Системное программирование". Да, книга в принципе неплохая, но одна проблемка - очень мало примеров. Буду очень благодарен если кто-нибудь даст примеры... |
C++ Linux Обработку xml сообщения на языке Си Нужно сделать обработку xml сообщения на языке Си под FreeBSD! кто уже делал подскажите как это лучше сделать! заранее спасибо!!! https://www.cyberforum.ru/ cpp-linux/ thread47463.html |
C++ Linux Какой-то баг в GCC
https://www.cyberforum.ru/ cpp-linux/ thread47432.html Переставил FreeBSD с 6 на 7. После этого перестала линковаться программа - компилируется без ошибок, но линковщик пишет /var/tmp//ccsaOcQc.o(.gnu.linkonce.t._ZN7CCookie7SetListERKSsS1_+0x66): In... |
Не находит sqlplus.hh C++ Linux Ознакомился с тутором на http://www.enderunix.org/documents/eng/mysql++.html установил себе на FreeBSD 7.0 этот API , но ситуация такая , что компилятор g++ не находит заголовочный файл sqlplus.hh и... |
C++ Linux Создание системы тестирования ПО. Собственно,хотел написать скрипт по тестированию программы отсюда https://www.cyberforum.ru/cpp-beginners/thread41218.html .В сети нашёл кое-какие примеры,например перенаправления вывода программы,но... |
C++ Linux Eclipse-как сделать exe У меня такая проблема: кто работает на еклипсе, и кто может подсказать можно ли с етой среды сделать что-то вроди exe-файла, например такого как делается на си++ во время компиляции??? https://www.cyberforum.ru/ cpp-linux/ thread45329.html |
C++ Linux Два процесcа могут использовать общий <map> ?
https://www.cyberforum.ru/ cpp-linux/ thread45273.html Поясните пожалуйста - суть вопроса такова Есть глобальный <map> почему дочернии процессы изминяя в нем данные - то другие процессы не видят изминения ! Вот пример кода |
C++ Linux Ищу хороший самоучитель по Xlib Посоветуйте плз, учебник по xlib. (если таковой существует). https://www.cyberforum.ru/ cpp-linux/ thread45042.html |
1 / 1 / 1
Регистрация: 29.08.2009
Сообщений: 63
|
|
0 | |
линковка шаблона05.09.2009, 08:47. Просмотров 1122. Ответов 1
Метки (Все метки)
линковка шаблона
Код
#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 как вынести определения push_front,push_back,erase в отдельный translation unit? Вернуться к обсуждению: линковка шаблона
0
|
|
05.09.2009, 08:47 | |
Линковка либов) Динамическая линковка Статическая линковка Линковка библиотек gcc под линукс |
|
|