![]() |
|
Модераторы: bsa |
![]()
|
|
| segadir |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 7.9.2010 Репутация: нет Всего: нет |
написал простенькую функцию на Си
а именно: Как вы уже заметили я использую глобальные массивы, что не есть гуд! Вот бы переделать её так что бы она стала указателем на результат, т.е.
эта функция очень маленькая, поэтому прошу !проффи! , мне очень хочеться посмотреть как можно до совершенства решить такую задачку. спасибо. |
||||
|
|||||
| djamshud |
|
||||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
Непрофессионал делает так:
Сейчас вам еще покажут плюсовый пример на каком-нибудь boost-е. Добавлено через 2 минуты и 51 секунду Хм. Это этот дефайн легко превращается в обычную функцию. Изначально он был сложнее - буфер передавался как один из параметров дефайна, поэтому функция не подходила - sizeof(buf) не работал как задумано. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
||||
|
|||||
| segadir |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 7.9.2010 Репутация: нет Всего: нет |
можно обойтись без задания конкретной длины 128? ведь формат может быть по длинее. ну вообще довольно таки здорово! Спасибо!
allprofi Будут ли еще варианты? Это сообщение отредактировал(а) segadir - 7.9.2010, 16:26 |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
Вот раскопал оригинальный дефайн. Первым параметром передается заранее приготовленный буфер нужной длины. Но я от этого варианта отказался, потому что на деле 128 байт хватает с головой, а громоздкость кода значительно уменьшается. Пожалуйста! -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
djamshud, глобальный буффер...
именно. благо что говорится про Си. ибо в с++ нельзя использовать strftime(). единственный абсолютно правильный вариант - boost.format |
|||
|
||||
| segadir |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 7.9.2010 Репутация: нет Всего: нет |
очень хотел бы услышать про то как можно отказаться от фиксированной (128) длины массива,
т.е. длина сама бы задавалась в зависимости от входной строки. как вариант сделать - динамическим но может есть что либо так сказать "по изящнее" ? а?
|
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
IMHO функция по-любому лучше.
1. Можно сделать параметр форматирования по-умолчанию, например "dd.MM.yyyy hh:mm:ss" 2. Можно вернуть std::string 3. Буфер можно выделить на стеке и зачем в конце делается ? -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 2 Всего: 37 |
||||
|
||||
| segadir |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 7.9.2010 Репутация: нет Всего: нет |
да но я думаю это спарведливо только к С++??? или нет? |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
только а выделить память на стеке можно и в Си. Правда в данном случае от неё толку не будет, потому, что вернуть char * на такую память нельзя вернее можно, но получишь краш :( кстати, твоё замечание нужно адресоватьи boost'овцам Это сообщение отредактировал(а) borisbn - 7.9.2010, 18:10 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| icecrashldr |
|
||||||
![]() Developer ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 5.7.2010 Репутация: нет Всего: нет |
Мне опять скучно ...
1) Локальный буфер
Оформляем
Буфер будет локальным, и в пределах блока который был в дефайне, и "драки" имен между переменными быть не должно. 2) Глобальный буфер Выше описанный спсоб будет работать, вот только в много поточном приложении будет плохо так что либо синхронизация(Mutex, CriticalSction) или переменная нити(потока) __declspec(thread) для студии. Sartorius, Можно, но только это микс С с С++, не которые личность утверждают что это от лукавого, но каждому свое. borisbn
Креш не получи, так как память валидная, а вот гарантировать валидность данных, это не получится, так как при "закрутки" стека компилятор волен выбирать метод самостоятельно, так что это вы правы использовать НЕЛЬЗЯ. |
||||||
|
|||||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
boostcoder, во-первых, не каждое приложение многопоточно; во-вторых, многопоточность - костыль; в-третьих, буфер локален в пределах одного объектного файла. Но вообще, да :).
borisbn, >и зачем в конце делается Чтобы "вернуть" указатель из макроса. См., как раскрывается макрос в код. icecrashldr, >локальный буфер В общем да, только я его немного пропатчу для ТС:) "({})" - GCC-шное расширение, но без него никак: обычный #define macro{...} раскроется в код и все испортит, #define macro ... и нормальной "локальной" tm не сделает, и код попортит. segadir,
Но обнаружился неприятный баг strftime-а: если сформированная им строка-дата не влезает в отведенный буфер, функция мало того, что не выставляет \0 в его конец, так еще и возвращает неправильный return value. В приведенных примерах я это пофиксил, но думается мне, надо писать багрепорт в ГНУ, т.к. в мане про этот баг ни слова не нашел. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
||||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
azesmcar, потому что рулит многопроцессность либо изначальное затачивание программы для многопоточного (десятки и сотни нитей) решения чего-нибудь на кластере. В обоих случаях это отдельно оговаривается и соответствующим образом проектируется все приложение, и обозначенной проблемы не будет. В этом топике я холиворить больше не буду
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
||||
|
||||
| segadir |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 7.9.2010 Репутация: нет Всего: нет |
Подводя итоги:
профи (без сарказма) что скажите? profit? |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
segadir, если не секрет, какая необходимость использовать именно Си, а не Си++ ?
Изучение ? Компилятор не поддерживает плюсы ( какая-нибудь ARM-архитектура ) ? -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| segadir |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 7.9.2010 Репутация: нет Всего: нет |
1 - причина изучив Си перехожу на С++
2 - пока программирую под АВР микроконтроллеры 3 - а по чему бы и нет? П.С. Си vs С++ вечная тема |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
segadir, чем вам не нравится мой последний вариант с функцией? У вас все с одной стороны излишне сложно, а с другой - держится на подпорках. Например strlen data = strlen format * 2. Формат %T -> данные hh:mm:ss -> fail. Кроме того, strlen - некомильфо, медленная функция.
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| segadir |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 7.9.2010 Репутация: нет Всего: нет |
djamshud, почему не нравится? кто сказал? очень даже оригинальненько,
Я у вас идейку повзаимствовал, с buf=malloc(len); маленький минус: всёже нужно знать заранее размер строки а где еще предложения (лень? : true : false) , или тут только один профи djamshud, кстати есть у кого поучиться! Формат %T -> данные hh:mm:ss -> fail. Да ксожаленью, вы правы хоть программа и не упала, но всётаки так и есть :( буду думать: 1 вариант заранее разбирать входную строку на наличие сокращений %Y %D и тд - (не хорошо как-то) 2 вариант выделить памяти в 10 раз больше (ваще не рационально) 3 вариант организовать полную динамичность по условию
Это сообщение отредактировал(а) segadir - 8.9.2010, 15:48 |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
он конечно не дубень... но! я по глубоким убеждениям(и профф обязанностям) не изобретаю велосипеды. свой ответ я дал. и он _самый_правильный_. |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
boostcoder, ваш ответ плюсовый и бустовый. А ваше мнение о самой правильности своего ответа лишь отражает ваше зазнайство:). Чем он, к примеру, правильнее QDate? А что, если (о боже!) нет с++?
segadir, да я всего лишь любитель:). Это сообщение отредактировал(а) djamshud - 8.9.2010, 16:17 -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
что в CRT ( snprintf и т.п.), что в boost'е, что в Qt делают именно так Это сообщение отредактировал(а) borisbn - 8.9.2010, 16:24 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
в своем первом посте я это подметил.
похоже я вас чем-то зацепил... я не намеренно. QDate - Blob. я бы не в коем случае не стал сие использовать. дабы не стать посмешищем для знакомых/коллег если нет плюсов.. я бы сменил работу, на ту, где нет Си Это сообщение отредактировал(а) boostcoder - 8.9.2010, 16:27 |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
boostcoder,
>похоже я вас чем-то зацепил... я не намеренно. Нее, я как слон:) >QDate - Blob. QDate != Blob. Он делает ровно то, что должен уметь делать класс-дата. Это во-первых. А во-вторых, паттерны, антипаттерны - задротство, программирование ради программирования. Всегда нужно исходить из задач. >если нет плюсов.. я бы сменил работу, на ту, где нет Си Слабак!:) -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
делать то он делает. но все равно blob. будь у вас хорошие познания в с++ и паттернах, вы бы поняли что это blob. какой кочмар о чем же тогда пишут Саттер, Александреску, Страуструп... с вами все ясно. продолжать не вижу смысла. и это вы мне говорите про зазнайство? Добавлено через 4 минуты и 28 секунд существуют стандарты по написанию кода с++. и несоблюдение этих стандартов, частенько(почти всегда) заводит проект в стадию _невозможности_поддержки_/_невозможности_развития_. так же, многие конторы, просто не позволят писать так, как тебе хочется/можется/нравиться. и я с этим абсолютно согласен. |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
boostcoder,
Саттер - не читал; Александреску - читал, осуждаю; мужик на шаблонах свихнулся; Страуструп - читал, в общем одобряю. >будь у вас хорошие познания в с++ и паттернах, вы бы поняли что это blob. >с вами все ясно. продолжать не вижу смысла /me пошел плакать. >и это вы мне говорите про зазнайство? А чо не так? :) -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| segadir |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 7.9.2010 Репутация: нет Всего: нет |
не мужики, я не лезу вас разьединять, но может поможите доработать функцию?
если каждый по своему её напишет мне от этого только выгода. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
||||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
boostcoder,
>просто вспомнился QString. Это да. Тоже считаю его монстроузным. >существуют стандарты по написанию кода с++. и несоблюдение этих стандартов, частенько(почти всегда) заводит проект в стадию _невозможности_поддержки_/_невозможности_развития_. Ну глупость же пишите. Все зависит от умения проектировать свои решения. >так же, многие конторы, просто не позволят писать так, как тебе хочется/можется/нравиться. и я с этим абсолютно согласен. Это плохие конторы, и мне очень жаль, что вам приходится работатать именно в них. Постановка производства софта на конвеер экономически, конечно, выгодно, но без пространства для маневра не будет творцов, а без творцов - шедевров. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| icecrashldr |
|
|||
![]() Developer ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 5.7.2010 Репутация: нет Всего: нет |
segadir, Готовое решение? шевели мозгами .. Могут написать код за тебя, можешь найти готовое решения, можешь реализовать как хочешь, лишь бы работало, но станиш ли от это лучше программировать? нет ...
boostcoder, Соглашаюсь с вашими постами, вот только не все гладко, как пишет выше упомянутые люди. Конечно, когда дают новый проект, пишу мол типо как хочешь, тут конечно все(по крайней мере многое, ведь код всегда хочется сделать лучше) сработает. А вот мне например сейчас дали патчить xwin от cygwin, вот тут то и понимаешь, что паттерны применить как то не реально Предлогал переписать. сказали ни ни, хотя я бы в одиночку бы справился ... |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
может хватит самолюбие тешить. об этих стандартах я и говорю. вы же, не понимая моей мысли, ни имея представления о _стандартах_проектирования_, пытаетесь возвысить себя, на, я бы сказал, _пустом_многословии_. заканчивайте с этим. ну... не верный вы способ выбрали.
естественно! ведь стандарты проектирования разрабатывают глупцы, не ровень вам пустое все... Добавлено @ 17:42 во первых - если это Си, то да, тут мало пространства для выбора. во вторых - если с++, но проект нужно изрядно расширить, то в этом случае, нужно углубленно проанализировать имеющийся проект. что весьма не тривиально. и от этого зависит правильность принятия решения. так же, замечу, что анализом может заниматься далеко не каждый программист. и естественно, и от этого фактора, так же, зависит правильность принятия решения. выполнив оба требования, и только после этого принимать решение, изменять проект используя паттерны, или же писать с нуля используя паттерны. я обычно предпочитаю второе. Это сообщение отредактировал(а) boostcoder - 8.9.2010, 17:45 |
|||
|
||||
| icecrashldr |
|
|||
![]() Developer ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 5.7.2010 Репутация: нет Всего: нет |
В основном конечно С, но где то видел С++.
Мало того куча багов, производительность желает лучшего, так еще и баги жестокие. Какое рефакторинг? если делать так по новому. Вот только время, не кто на это не выделит, а это 1307 файлов(пакрайней мере в моей версии) и каждый файл 1000 строк, вот его и пересмотреть то не возможно. Так что паттерны это хорошо, вот только не всегда применимы... Часть партянки.. для смеха ...
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
это кусок какого-нибудь wndproc?
Добавлено через 2 минуты и 3 секунды уточню: если проект написан на Си, то это не означает что нельзя использовать паттерны с++. другое дело, что нет компилятора с++, или по каким-то соображениям это недопустимо. |
|||
|
||||
| icecrashldr |
|
|||
![]() Developer ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 5.7.2010 Репутация: нет Всего: нет |
Ага
Это без проблем ... Вот только "врукить" осталось, как сделать отрисовку при движении окон |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
boostcoder, одному анонимусу возвышаться над другим? Увольте:). И не принимайте все так близко к сердцу;).
Вы меня немного не так поняли или я не совсем так выразился. Я знаком с паттернами по книге design patterns (хз кто автор) и некоторым публикациям в интернетах. И я прекрасно вижу, когда использую те или иные из них, или когда использую антипаттерны. Я же говорю, что слепое следование правилам "во! паттерн! ###ись!" и "антипаттерн? нет пути!" - зло. И еще большее зло, когда их навязывай тебе твой работодатель. Во-первых,.. Ой, сейчас я рожу много буков, погуглите лучше criticism of patterns. Добавлено через 16 секунд The book's authors are Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides with a foreword by Grady Booch. Во кого я читал. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| icecrashldr |
|
|||
![]() Developer ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 5.7.2010 Репутация: нет Всего: нет |
А вот так у нас пишет TEAM LEADER, после такого хочется вообще забить на это *** (Я не знаю как выразится)
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
в данной ситуации, switch() очень легко заменить на, к примеру:
вот так разбили этот огромный кусок на кучу мелких. и за одно избавились от switch()(который я не приемлю, так же как и goto)(но это имхо). Добавлено через 1 минуту и 13 секунд зы код не проверял Это сообщение отредактировал(а) boostcoder - 8.9.2010, 19:14 |
|||
|
||||
| icecrashldr |
|
|||
![]() Developer ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 5.7.2010 Репутация: нет Всего: нет |
Вариантов масса, меню на все вкусы ..
Вот только ТИМУ это не объяснить, он утверждает,
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
уау! был у меня в команде такой товарысч. точно так же говорил. погнал к х... его. |
|||
|
||||
| bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Поддерживаю boostcoder. Гнать его надо. Правильная работа программы не является достаточным условием ее качественности. Дай своему тиму ссылку на форум (а лучше две - одна на часто задаваемые вопросы этого раздела), пусть попробует нас переубедить. |
||||
|
|||||
| xvr |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Хорошо так пишет - этакая хорошо структурированная спагетина из помеси С++ и realloc'ов Как в анекдоте: - Что сказал папа, когда узнал, что ты разбил его машину? - Матерные слова опустить? - Конечно - Тогда ничего
Ему некогда - он КОД пишет |
||||||
|
|||||||
| icecrashldr |
|
|||
![]() Developer ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 5.7.2010 Репутация: нет Всего: нет |
Ага, вот только есть одна проблема... Я написал и отладил(уже несколько месяцов все работает стабильно) NT сервис + драйвер. Сервис предоставляет способ общения с драйвером обходя повышения привилегий. Работа построена через пайпы. Handle пайпа закрывается только по факту закрытия со стороны клиента(Либо при выгрузки драйвера, отключения устройства) И уже были случаи когда пайп не закрывался со стороны клиента, соответсвено утечка ресурсов в двух местах.(А как я это вычислял ... ) А как было весело, отлаживать его stack overflow(он на стеке создавали переменные больше метра, грубо говоря "распыляя память"), и при этом он утверждал "ты же системный программист". А вот гнать его не получится, скорее всего меня уволят (( П.С. Про архитектуру не спрашивайте, это не я придумывал ... |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
icecrashldr, "гнать его надо" - это не указание к действию, а отношение к специалисту.
|
|||
|
||||
| icecrashldr |
|
|||
![]() Developer ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 5.7.2010 Репутация: нет Всего: нет |
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Судя по коду я бы слово специалист взял в кавычки |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
||||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |