Модераторы: PILOT

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> нужен С++ программист среднего уровня 
:(
    Опции темы
oleg1973
Дата 28.7.2004, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: -2
Всего: 34



Orlan
Цитата

Программер на С++ тоже не знал. Толко он создал, а ты нет. Ему и не надо было знать этого. Вся ненужная для него (но не для ассемблеровского программера) зашита во враперах

вот смотри живой пример как оно будет на асме
Код

format PE GUI 4.0
entry start
include '%fasminc%\win32a.inc'
include 'ddraw.inc'
start:
invoke DirectDrawCreate,NULL,DDraw,NULL
comcall DDraw,SetCooperativeLevel,\
 [hwnd],DDSCL_EXCLUSIVE+DDSCL_FULLSCREEN
comcall DDraw,SetDisplayMode,640,480,8


hwnd dd ?
DDraw DirectDraw


в данном примере тоже самое что хочеш ты
не болит голова о номерах функ в обьекте и так далее
тоже самое будет и с "самодельным" обьектом
только вместо include 'ddraw.inc'
будет к примеру include 'myobj.inc' В с/с++ тоже вроде как еще инклуды не отменили?smile.gif
а мануаль в лубом случае читать придется с описанием методов обьекта
тут уж паралельно на с или асм писать
функ DirectDrawCreate не делает нифига кроме заполнения структуры DDraw адресами,справедливо для любого другого интерфейса, но не для самописного обьекта который уже определен
Код

struc MyObj
{
.func 1 dd MyFunc1
.func 2 dd MyFunc2
}

proc MyFunc1
...
proc MyFunc2
..

в данном случае createobject нафиг не нада (ну если только для понта чтоб адрес структ возвратить) так как структура обьекта уже заполнена адресам его методов-MyFunc1-MyFunc2
и если я делаю comcall Myobj,MyFunc1 то компилятор мне автоматом подставит адрес обьекта и указатель на адр функ MyFunc1

Цитата
Преобразование в Юникод. _bstr_t это С++ врапер и ты вызвать его не можеш.


ошибаешся могу еще как
есть стандартные сишные либы в составе виндоса
crtdll.dll
msvcrt (на крайний случай)
из них могу преспокойно вызвать все что угодно хоть printf smile.gif
bstr как раз относится к стандартным функ

Цитата

Теперь я надеюсь ты заметил, что то что непрофессиональный С++ программер сделал даже не задумываясь, тебе пришлося разбиратся в основах технологии СОМ и ты вообще не реализовывал уведомление об ошибках, хотя в коде, что я привел она есть.
PS. Очень поражает настойчивость oleg1973. Вместо того, что бы сказать, что на Ассемблере этот текст лучше не делать - слишком затратно по времени, надо знать много, настаивает, что Ассемблер все таки здесь можно применять в реальных проектах с существенным использованием СОМ.

мне не пришлось разбиратся в тонкостях СОМ, знал я это
месадж с еррором написать, не проблема
и по времени написание ну не чуть не больше чем на томже С




--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
oleg1973
Дата 28.7.2004, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: -2
Всего: 34



вот написал еще пример с dll в которой создается obj
и вызываются 2 его метода
Код
format PE GUI
entry start
include '%fasminc%\win32a.inc'
include 'superlib.inc'  <--- инклуд нашей либы
section '.code' code readable executable
start:

invoke SuperLibCreateObject,libz <---создаем obj :)
comcall libz,oleg1973 <--- вызываем первый метод
comcall libz,orlan    <--- вызываем второй метод
invoke ExitProcess,0 <--- выходим нафиг

section '.bss' readable writeable
libz superlib <--- указатель на массив куда запихаются адреса методов obj

data import    <--- че и откуда импортируем
library kernel32,'KERNEL32.DLL',\
slib,'superlib.DLL'
import kernel32,\
ExitProcess,'ExitProcess'
import slib,\
SuperLibCreateObject,'SuperLibCreateObject'
end data


все после компиляции получаем полноценную прогу
таблицу импорта можно и автоматом сгенерить, это я ее нарисоват тут для ясности
тестилось с fasm 1.53
в архиве исходники


Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  obj_asm.rar


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
AndyY
Дата 28.7.2004, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 316
Регистрация: 8.5.2004
Где: СПб

Репутация: 1
Всего: 4



читаю дискуссию и наслаждаюсьsmile.gif. oleg1973, неужели вы считаете приведенный код читаемым?smile.gif)). Какая-то куча макросов и ни одной процессорной инструкцииsmile.gif)).
Особенно смущает comcall - используя C++, и то понятней какой код нагенерится, а тут даже не ясно это описание интерфейса или вызов его. Что будет с кодом при попытке реализации чего-нибудь содержательного, например, самобалансирующегося дерева - страшно подумать.

Кстати, на мой взгляд "ручная оптимизация" на асме занятие весьма сомнительное - грамотный c-оптимизатор нагенерит несколько более быстрый код (к тому-же совершенно нечитаемый). А основная действительно важная оптимизация лежит в области алгоритмов и не имеет к языку программирования никакого отношения.

Что касается поиска персонала, я думаю примерно одинаковый вред проекту могут принести как гипотетический ассемблерный гений олега, так и недоученный c++ программер орлана который пользуется врапперами и библиотеками классов не имея понятия как они работают.


--------------------
PM MAIL WWW   Вверх
oleg1973
Дата 28.7.2004, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: -2
Всего: 34



Цитата
читаю дискуссию и наслаждаюсь. oleg1973, неужели вы считаете приведенный код читаемым?)). Какая-то куча макросов и ни одной процессорной инструкции)).

Андрюша, дебугером погляди
а макросы описаны в инклудах, нормальное явление кстати
Цитата
Особенно смущает comcall - используя C++, и то понятней какой код нагенерится, а тут даже не ясно это описание интерфейса или вызов его. Что будет с кодом при попытке реализации чего-нибудь содержательного, например, самобалансирующегося дерева - страшно подумать.

comcall обычный макрос, какой код он генерит опять же в инклуде описано, если не нравится код можно и сменить
Цитата
Кстати, на мой взгляд "ручная оптимизация" на асме занятие весьма сомнительное - грамотный c-оптимизатор нагенерит несколько более быстрый код (к тому-же совершенно нечитаемый)
ну тут еще поспорить можно
ты не обрашал внимания как компиляторы процедуры твои компилят?
погляди ради интереса
Цитата
Что касается поиска персонала, я думаю примерно одинаковый вред проекту могут принести как гипотетический ассемблерный гений олега, так и недоученный c++ программер орлана который пользуется врапперами и библиотеками классов не имея понятия как они работают.

ну вот те на, пришел всех пригнул ниже плинтуса
ты сам то давно на WINAPI перешел?
на сайте у тебя смотрю "сильные" разработки smile.gif треи да хуки для пионеров


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
AndyY
Дата 29.7.2004, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 316
Регистрация: 8.5.2004
Где: СПб

Репутация: 1
Всего: 4



необходимость смотреть что-либо в дополнительных прогах - сомнительное достоинство языка. Впрочем, речь все-же не о сравнении cpp и асм, а о преимуществах и недостатках найма вместо среднего программера c++ крутого знатока ассемблера. Второй вариант сомнителен тем, что Олегу приходится попутно доказывать саму возможность разработки и поддержки кода библиотеки на асмеsmile.gif).
После этого нужно еще доказать целесообразность такого подходаsmile.gif.

oleg1973
Спорить по поводу ручной оптимизации - извольте. Предлагаю вам реализовать быструю сортировку на супервручнуюоптимизированном асме, я же скромно сделаю это на c++. Заведем соответствующий тред в форуме асма или с++ и сравним результаты - скажем, посчитаем тики проца для одинаковой выборки и получим разницу во времени исполнения. Если вы согласны - извольте. Делайте тред и ссылку сюда.

Кроме неуместного перехода на личности, аргументов по поводу равнозначности неграмотного с++ программера и гения асма не вижу. Скорее всего и тот и другой нагенерят код, который в лучшем случае будет работать на момент сдачи, а модифицировать его впоследствии силами остальных с++ программистов будет невозможно.


--------------------
PM MAIL WWW   Вверх
chipset
Дата 29.7.2004, 01:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 1
Всего: 165



Мдя ну и нафлеймили тут... wink.gif
Помойму все можно выразить двумя словами - "При работе в команде нужен не только один язык программирования но и общий стиль.. "
А господин oleg1973 из упрямости пытается доказать обратное..
Все мое ИМХО, программист я неопытный но прекрасно понимаю что чтение сложного кода написанного даже на С++ вызовет некоторые неувязки не говоря уж о асме..
ЗЫ. А в шарпе шаблоны есть biggrin.gif (или женерики), только в 2.0..


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
oleg1973
Дата 29.7.2004, 01:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: -2
Всего: 34



Цитата
необходимость смотреть что-либо в дополнительных прогах - сомнительное достоинство языка.

фраза пущенная в космос?
что в вами любимом VC дебугер отменили?
Цитата
что Олегу приходится попутно доказывать саму возможность разработки и поддержки кода библиотеки на асме

а я не доказываю, я показываю то чего видимо некоторые просто не знали
при некотором знании асма писать на нем не сложнее чем на С
Цитата
Предлагаю вам реализовать быструю сортировку на супервручнуюоптимизированном асме, я же скромно сделаю это на c+

да мы только за
что ранжирить будем?
Цитата
Скорее всего и тот и другой нагенерят код, который в лучшем случае будет работать на момент сдачи, а модифицировать его впоследствии силами остальных с++ программистов будет невозможно.

бред
Добавлено @ 01:59
chipset
да и не только ты, ну как вы можете судить о том в чем ,пардон не бум-бум?
если человек не знает BASIC , то и он покажется ему и трудночитаемым и все такое


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
chipset
Дата 29.7.2004, 02:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 1
Всего: 165



Цитата
Скорее всего и тот и другой нагенерят код, который в лучшем случае будет работать на момент сдачи, а модифицировать его впоследствии силами остальных с++ программистов будет невозможно.

бред

Есть такое понятие как поддержка программы, и даже иногда срочная отладка потому как видите ли у заказчика не работает какая то функция... mad.gif
И чем проще будет код тем лучше, в некоторых случаях даже на вижуал васике (впрочем появилась удобная альтернатива - шарп).
Добавлено @ 02:02
Цитата
да и не только ты, ну как вы можете судить о том в чем ,пардон не бум-бум?
если человек не знает BASIC , то и он покажется ему и трудночитаемым и все такое

Ну дак проще найти человека который понимает C++ чем асмиста имхо..


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
oleg1973
Дата 29.7.2004, 02:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: -2
Всего: 34



Цитата
Есть такое понятие как поддержка программы, и даже иногда срочная отладка потому как видите ли у заказчика не работает какая то функция...

тестить нада перед тем как заказчику отдавать...
Цитата
Ну дак проще найти человека который понимает C++ чем асмиста имхо..

на васик еще проще найти или на дельфи

Это сообщение отредактировал(а) oleg1973 - 29.7.2004, 02:10


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
chipset
Дата 29.7.2004, 02:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 1
Всего: 165



Цитата
тестить нада перед тем как заказчику отдавать...

Мир несовершенен.. sad.gif Не все можно протестить и при этом уложится в дедлайн..
Цитата
на васик еще проще найти или на дельфи

В этом случае человеку нужен как раз С++'ник потому как весь его штат состоит из С++ , хотя на дельфи тоже иногда требуются программеры... smile.gif И даже на васике! biggrin.gif



--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
v_ez
Дата 29.7.2004, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 12.4.2004

Репутация: нет
Всего: нет



мдяяя....как в одном приколе было написано :
"дорогая Лена, я б**** плачу и х***, х*** и плачу...."

это же сколько вы листов здесь извели из столь простенького объявления...
какой то нереальный спор про ассемблер...вообще каким боком его сюда припаяли? я же не сказал, что нужен человек на дельфях, на бэйсике или ассемблере - нужен человек на плюсах!!!
хорошо, что еще виртуально пообщались, а то наверное друг друга перемочили бы ещё ))
PM MAIL   Вверх
AndyY
Дата 29.7.2004, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 316
Регистрация: 8.5.2004
Где: СПб

Репутация: 1
Всего: 4



v_ez
Народ сюда больше пообщаться ходит, а не трудоустроитсяsmile.gif. Вот и по приколу религиозные войны типа C++ vs ASM. А программера здесь врядли найти можно. У меня для питера не получилось.


--------------------
PM MAIL WWW   Вверх
oleg1973
Дата 29.7.2004, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: -2
Всего: 34



AndyY
Цитата
А программера здесь врядли найти можно

ну ты загнул



--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
chipset
Дата 29.7.2004, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 1
Всего: 165



Цитата
А программера здесь врядли найти можно

Конечно.. Откуда тут программеры??? qstn.gif biggrin.gif biggrin.gif biggrin.gif


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
v_ez
Дата 29.7.2004, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 12.4.2004

Репутация: нет
Всего: нет



biggrin.gif biggrin.gif biggrin.gif блин, ну я так подумал, мало ли, кто то подцепиться захочет biggrin.gif
а holy war это клёво )))
PM MAIL   Вверх
Страницы: (6) Все « Первая ... 2 3 [4] 5 6 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Обсуждение работы | Следующая тема »


 




[ Время генерации скрипта: 0.0990 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.