|
Собственно есть нормальный компилятор (не С)? | ☑ | ||
---|---|---|---|---|
0
IVIuXa
11.05.12
✎
14:52
|
Столкнулся с такой проблемой - оказывается нормального языка (компилируемого), который не требует потом кучу библиотек нет.
Исключение с(с++)+например QT не рассматриваю по религиозным соображениям. В поле зрения попали компиляторы языков D и vala - vala все равно зараза тащит gtk. А d просто настолько сырой - нет нормальной ide, да че там документации элементарной и то нет... Вообще есть нормальный язык - с чистой компиляцией без кучи (нужных) библиотек ? |
|||
1
Fragster
гуру
11.05.12
✎
14:53
|
откро
|
|||
2
Fragster
гуру
11.05.12
✎
14:53
|
й для себя статическую линковку и иди читать буквари
|
|||
3
mirosh
11.05.12
✎
14:54
|
(0)
Ты хочешь невозможного. Либо откажись от компиляции в пользу интерпретации, либо используй библиотеки. Хотя оп библиотекам тоже непонятно. Как они связаны с компиляцией. API - библиотека, на многих языках есть, например. Как без нее? |
|||
4
Ненавижу 1С
гуру
11.05.12
✎
14:54
|
(0) а что твои программы без библиотек будут уметь делать?
|
|||
5
andrewks
11.05.12
✎
14:55
|
(0) да. Ассемблер
|
|||
6
Fragster
гуру
11.05.12
✎
14:55
|
(3)(4) да вы не поняли, он не знает про (2) и волнуется, что, например, GTK надо ставить отдельно, иначе его программа не заработает
|
|||
7
Fragster
гуру
11.05.12
✎
14:55
|
(5) либы и в асме есть
|
|||
8
IVIuXa
11.05.12
✎
14:56
|
(2)
хелло мир - 25мб... |
|||
9
NS
11.05.12
✎
14:56
|
(0) Практически любой язык. см. (2)
|
|||
10
andrewks
11.05.12
✎
14:56
|
(7) но можно и без них
|
|||
11
Ненавижу 1С
гуру
11.05.12
✎
14:56
|
и чем кстати Qt не угодил?
|
|||
12
NS
11.05.12
✎
14:56
|
(8) Не придумывай. У меня шахматная программа написанная на Делфи со статической линковкой - 50 килобайт.
|
|||
13
Fragster
гуру
11.05.12
✎
14:57
|
(10) так и в сях можно без них, просто мало без libstdc
|
|||
14
Fragster
гуру
11.05.12
✎
14:57
|
(8) dsghzvb herb
|
|||
15
andrewks
11.05.12
✎
14:58
|
(13) я к тому, что на нём можно и без вызовов WinAPI всё, что угодно, написать. вопрос только, сколько кода выйдет
|
|||
16
IVIuXa
11.05.12
✎
14:58
|
(14)
ты про какой язык ваще ? |
|||
17
IVIuXa
11.05.12
✎
14:59
|
(12)
услышал только делфи |
|||
18
quest
11.05.12
✎
15:00
|
(0) а ты не парься. Напиши свой компилятор. И иде к нему сразу.
|
|||
19
NS
11.05.12
✎
15:00
|
(17) А какая разница? Не используй полностью большие библиотеки, прилинковывай только то что нужно.
|
|||
20
IVIuXa
11.05.12
✎
15:00
|
(18)
на чем ? |
|||
21
Fragster
гуру
11.05.12
✎
15:00
|
(16) да про любой. компиляторы уже давно при статической линковке не включают dead code линкуемых библиотек.
|
|||
22
andrewks
11.05.12
✎
15:00
|
(20) да хоть на чём
|
|||
23
IVIuXa
11.05.12
✎
15:00
|
(19)
меня интересует компилятор не с |
|||
24
andrewks
11.05.12
✎
15:01
|
(23) возьми FreePascal
|
|||
25
IVIuXa
11.05.12
✎
15:02
|
(24)
эт уже на заметке, еще ? |
|||
26
IVIuXa
11.05.12
✎
15:02
|
все сдулись...
|
|||
27
IVIuXa
11.05.12
✎
15:03
|
pascal asembler
не густо... |
|||
28
Mikeware
11.05.12
✎
15:03
|
(23) дельфя поступает так же.
с QT я так до конца и не победил, но тоже есть возможности уменьшать количество линкуемых библиотек. |
|||
29
Fragster
гуру
11.05.12
✎
15:04
|
(28) подключай не <qtcore>, а <qtcore/something>
|
|||
30
quest
11.05.12
✎
15:04
|
(20) на чем пишут компляторы? скорее всего на бейсике, там все библиотеки есть :)
|
|||
31
H A D G E H O G s
11.05.12
✎
15:05
|
Я поражаюсь с вас, люди. Ладно там, какая-нибудь dll, обновляющая прогу и ползающаяя по интернетам, но обычная прога - какая мать разница, 2 мегабайта или 25 ?
|
|||
32
H A D G E H O G s
11.05.12
✎
15:05
|
Конечно 25 метров - это тихий ужас, но непринципиально же.
|
|||
33
andrewks
11.05.12
✎
15:06
|
(27) Open Watcom Fortran
|
|||
34
IVIuXa
11.05.12
✎
15:08
|
(33)
ide ? доки ? |
|||
35
mistеr
11.05.12
✎
15:08
|
(2) + атеистическую литературу. С "религиозными соображениями" в нашей профессии делать нечего.
|
|||
36
andrewks
11.05.12
✎
15:09
|
||||
37
Mikeware
11.05.12
✎
15:10
|
(31) идеология другая.
в силу специальности , послать лишние 100 байт - преступление. Использовать лишние 100 байт в коде - тяжкое преступление :-)) и т.п. |
|||
38
IVIuXa
11.05.12
✎
15:11
|
(11)
угодил, его не рассматриваем |
|||
39
IVIuXa
11.05.12
✎
15:13
|
(37)
вы о чем вообще ? предмет разговора ? с++ и линкование шо ли ? - я спрашиваю не про это |
|||
40
IVIuXa
11.05.12
✎
15:18
|
(2)
как называются буквари ? |
|||
41
orefkov
11.05.12
✎
15:28
|
(0)
Хотите удобств в разработке - платите в рантайме. А так - компилировать то под что хочешь? WinCE на ARM'е? Linux на MIPS'e? DOS на x86? Только С и С++, только хардкор. Не умеешь, не нравится - таскай либы и рантайм на 400 метров. |
|||
42
Mikeware
11.05.12
✎
15:31
|
(41) "закон рычага" в программировании... :-)
|
|||
43
IVIuXa
11.05.12
✎
15:37
|
(41)(42)
вы вот ща умное что то сказали ? |
|||
44
Ненавижу 1С
гуру
11.05.12
✎
15:39
|
(43) они говорят, что оптимизация стоит дорого, причем ее стоимость растет с каждым уровнем все быстрее и быстрее
|
|||
45
IVIuXa
11.05.12
✎
15:41
|
(44)
иии |
|||
46
acsent
11.05.12
✎
15:42
|
(31) А вдруг он решил в демосцене поучавствовать?
|
|||
47
IVIuXa
11.05.12
✎
15:45
|
(46)
неа прочитайте хоть для начала это что ли, а то всякую пургу несут http://www.xakep.ru/post/32779/ |
|||
48
Fragster
гуру
11.05.12
✎
15:51
|
(47) бугага. чем тебе Function literals помогут исключать внешние либы?
|
|||
49
IVIuXa
11.05.12
✎
15:54
|
(48)
блин а тебе чем помогут? |
|||
50
Fragster
гуру
11.05.12
✎
15:55
|
(49) мне - ничем. я dllки к проге прикладываю, или статически линкую
|
|||
51
Mikeware
11.05.12
✎
15:55
|
(48) ему уже ничего не поможет....
|
|||
52
IVIuXa
11.05.12
✎
15:58
|
(50)
блин на чем ты проги пишешь? какие dll ки прикладываешь ? |
|||
53
IVIuXa
11.05.12
✎
15:59
|
(51)
вот ничего и не засоряй тут... |
|||
54
Fragster
гуру
11.05.12
✎
16:00
|
(52) на куте
|
|||
55
IVIuXa
11.05.12
✎
16:04
|
(54)
такого языка нет и в (0) я для таких пряморуких (и не только) написал - "не постить" на с++ проблем вообще нет |
|||
56
Злопчинский
11.05.12
✎
16:07
|
ассемблер
|
|||
57
IVIuXa
11.05.12
✎
16:08
|
(56)
нуууу под разные процессоры разный ? |
|||
58
IVIuXa
11.05.12
✎
16:16
|
про GO никто не говорит...
|
|||
59
Mikeware
11.05.12
✎
16:21
|
(57) Если ты хочешь кроссплатформенную разработку - твой выбор сильно сужается...
|
|||
60
smaharbA
11.05.12
✎
16:21
|
(1) предлагаю на каждый чих слинковать весь глибс вместе с ресурсами
|
|||
61
slowpoke1C
11.05.12
✎
16:36
|
(0) Предлагаю freepascal + MSE IDE + MSE GUI или
freepascal + FPgui все три проекта кросс-платформенны, делают гую, можно линковать статически. |
|||
62
IVIuXa
12.05.12
✎
01:48
|
(61)
+ короче из всех альтернатив с++ вменяемый и "живой"(имеется ввиду поддержка более-менее) только паскаль |
|||
63
Asmody
12.05.12
✎
02:18
|
Common Lisp
|
|||
64
МуМу
12.05.12
✎
02:24
|
Турбо паскаль форева! А вообще тема чистой воды провокация.
|
|||
65
Злопчинский
12.05.12
✎
03:02
|
в свое время вроде как компилеры от WATCOM были зачетные
|
|||
66
Злопчинский
12.05.12
✎
03:02
|
Forth - наше все!
|
|||
67
sapphire
12.05.12
✎
03:04
|
ТС в биореактор еще не предлагали?
Самое время :) |
|||
68
Злопчинский
12.05.12
✎
03:07
|
Снежные горы тянутся ввысь,
Маленький лыжник падает вниз... Смотрит туда, улыбаясь, инструктор: - Будет сынишке биоконструктор! (с) мое! |
|||
69
sapphire
12.05.12
✎
03:13
|
(65) Теперь собственного компилятора нет, используется mingw
|
|||
70
Keyn
12.05.12
✎
03:19
|
ты пишешь прогу, и используешь какие либо компоненты, эти компоненты естесно требуют чтобы их включили в прогу. (это труе для любого компилятора) компоненты могут быть подключены к проге динамически т.е. во время выполнения программы, и также их можно включить в прогу во время компиляции. тебе нужно установить определенные галочки и эти компоненты (библиотеки) включатся в твой экзешник. копируй этот экзешник на другие компы и ни какие библиотеки (dllки) тащить не нужно будет.
ну для с++билдера нужно сделать следущее Project->Options на вкладке Package снимаем галку Build with runtime packages на вкладке Linker снимает галку Use dinamic RTL |
|||
71
strange2007
12.05.12
✎
04:24
|
(0) PureBasic. Создает только один исполняемый файл. Малюсенький. Синтаксис бэйсика. Кросплатформенный (винды, линуксы, маки и амига). Почти бесплатный (не до конца).
|
|||
72
strange2007
12.05.12
✎
04:26
|
+(71) основан на фасме. По сути надстройка с туевой хучей кусочков. Встроенные библиотеки для работы с разными СУБД, директ иксами и все, что требует много кода.
|
|||
73
IVIuXa
12.05.12
✎
06:06
|
(71)
+ хммм интересно ща гляну (70) в курсе |
|||
74
ado
12.05.12
✎
06:10
|
(31) Зажрались ...
|
|||
75
badboychik
12.05.12
✎
06:10
|
открой для себя AutoIt
|
|||
76
Птах
12.05.12
✎
06:11
|
IVIuXa , спасибо, пятнично, поржал хД
|
|||
77
Птах
12.05.12
✎
06:12
|
Толпа людей ему все разжевывает, а он нифига не понимает и рогатки гнет :)
|
|||
78
strange2007
12.05.12
✎
06:14
|
(73) Будет интересно - вышлю полный комплект. Официальный. Там сразу вагон демок на 5-100 строк. Демки охватывают почти все отрасли программирования
|
|||
79
ado
12.05.12
✎
06:14
|
(37) Самое печальное, что сейчас уже и программистам девайсов становится похер.
|
|||
80
IVIuXa
12.05.12
✎
06:14
|
(75)
че т не понял это что за поделка ? все таки скрипт или компилится ? |
|||
81
Птах
12.05.12
✎
06:15
|
(79) А че печального-то? Если дешевле поставить железяку помощнее, чем научить программиста оптимально кодить - чего ожидать-то? :)
|
|||
82
IVIuXa
12.05.12
✎
06:16
|
(78)
спасибо, уже сейчас практически скоро его буду юзать :) |
|||
83
IVIuXa
12.05.12
✎
06:18
|
(79)
да нет программисты все на с++ там все четко, qt и т.д. Просто развелось куча интерпретаторов типа net java и т.д. вот и интересно почему сие плодиться |
|||
84
IVIuXa
12.05.12
✎
06:22
|
(75)
описание заманчиво :) |
|||
85
strange2007
12.05.12
✎
06:23
|
(81) Вот и появляются высерпродукты, стоимостью в хороший авто и по производительности как зажравшийся американец
|
|||
86
IVIuXa
12.05.12
✎
06:23
|
(77)
я все понимаю толпа этого не понимает и пытается мне что то разжевать |
|||
87
strange2007
12.05.12
✎
06:26
|
(83) Кто все????? Только поклонники фич ООП, не более. При чем не концепции поклонники, а только названий. Через пол года сами в своем коде разобраться не могут и внести изменения
|
|||
88
ado
12.05.12
✎
06:27
|
(83) Это не интерпретаторы.
|
|||
89
IVIuXa
12.05.12
✎
06:28
|
(88)
платформа с интерпретатором - так лучше ? |
|||
90
strange2007
12.05.12
✎
06:34
|
(88) Пардон, а разве ява не интерпретатор? Разве она код хранит не в только ей понятном формате как и 1С? Я не вкурсе этих тонкостей, просто всегда считал, что она выполняет свой, пусть и оптимизированный, код и тут-же выполняет
|
|||
91
IVIuXa
12.05.12
✎
06:36
|
(90)
там просто есть компилятор под платформу есть интерпретатор но все эт нах интерпретаторы... |
|||
92
IVIuXa
12.05.12
✎
06:37
|
+(91)
есть транслятор |
|||
93
strange2007
12.05.12
✎
06:38
|
(0) В качестве рекламы список демок для PureBasic. Минимум кода - максимум пользы. Каждая прога не набор кучи включений, библиотек и ключей компиляции, а короткий текст, который просто вставляется в ИДЕ и по Ф5 полностью рабочий
http://purebasic.ru/sources_code_list.php |
|||
94
IVIuXa
12.05.12
✎
06:41
|
(93)
блин а че он динамически память не выделяет ? |
|||
95
IVIuXa
12.05.12
✎
06:44
|
+(93)
хммм порадовало с сетью у него куча примеров + готовые объекты |
|||
96
Андрюха
12.05.12
✎
06:47
|
(0) Delphi
|
|||
97
IVIuXa
12.05.12
✎
06:49
|
(96)
от красава :) |
|||
98
strange2007
12.05.12
✎
06:49
|
(94) ?????? как это так??? выделяет. При чем на дофуя структуры и строки именно динамически выделяет
(95) Мне пока в нем работа с СУБД нравится |
|||
99
ado
12.05.12
✎
06:53
|
||||
100
strange2007
12.05.12
✎
06:54
|
(99) Все равно прослойка есть. Оно не страшно, но немного раздражает
|
|||
101
IVIuXa
12.05.12
✎
07:00
|
(100)
если прослойка net 4 например ? а если нужно прогу разнести на кучу компов, а если net еще что за собой потянет ? да нах он кроме веба нужен ? |
|||
102
strange2007
12.05.12
✎
07:05
|
(101) Поэтому когда искал кросплатформенную среду, остановился только на PureBasice. Ладно, не буду кривить душой, его выбрал еще и потому, что всегда писал на асме))))))))) Но тут такая странность, уже много месяцев вообще не вспоминаю про асм и ВинАПИ
|
|||
103
IVIuXa
12.05.12
✎
07:12
|
(102)
скомпилил , посмотрел exe обращение напрямую к api функциям круто пошел погружаться |
|||
104
strange2007
12.05.12
✎
07:14
|
(103) Так там ставишь галку "компилить под линукс" и оно сделает линуксовую исполнялку. Фасм сам по себе универсальный, а в ПБ просто для разных платформ, разные куски кода сделали
|
|||
105
smaharbA
12.05.12
✎
07:15
|
ага щаз сделает, максимум хело придурки
|
|||
106
IVIuXa
12.05.12
✎
07:18
|
(105)
ты че так переживаешь то ? |
|||
107
strange2007
12.05.12
✎
07:19
|
(105) Как всегда самый знающий
|
|||
108
IVIuXa
12.05.12
✎
07:25
|
(104)
насчет галки не в курсе :) , но под linux ide и компилятор есть (105) так что у тебя может и выдаст |
|||
109
strange2007
12.05.12
✎
07:38
|
(108) Официальный комплект включает все компиляторы, под все платформы
|
|||
110
Guk-Pedrilo
12.05.12
✎
07:52
|
(101) dotNET не только твоя программа может использовать.
|
|||
111
IVIuXa
12.05.12
✎
07:55
|
(110)
вот зачем ? |
|||
112
Guk-Pedrilo
12.05.12
✎
07:55
|
(111) что зачем?
|
|||
113
IVIuXa
12.05.12
✎
07:56
|
(112)
кто здесь ? |
|||
114
smaharbA
12.05.12
✎
08:03
|
(106) ты не понял
(107) да |
|||
115
strange2007
12.05.12
✎
08:10
|
(114) ага, тогда рассказывай с авторитетным видом про то как строятся большие системы. На вирусах то тоже только по принципу "я так говорю".
|
|||
116
ado
12.05.12
✎
08:23
|
(100) ОС -- тоже прослойка. Не раздражает?
|
|||
117
smaharbA
12.05.12
✎
08:27
|
(115) какой бит изменить для работоспособности ?
8053638: a1 70 57 06 08 mov 0x8065770,%eax 805363d: 83 c4 10 add $0x10,%esp 8053640: 85 c0 test %eax,%eax 8053642: 74 34 je 8053678 <getopt_long_only+0x5c78> 8053644: 83 ec 08 sub $0x8,%esp 8053647: ff 35 28 5d 06 08 pushl 0x8065d28 805364d: 6a 0d push $0xd 805364f: e8 84 61 ff ff call 80497d8 <fputc@plt> 8053654: 83 c4 10 add $0x10,%esp 8053657: 52 push %edx 8053658: 68 a0 e4 05 08 push $0x805e4a0 805365d: ff 35 28 5d 06 08 pushl 0x8065d28 8053663: 6a 01 push $0x1 8053665: e8 7e 8d ff ff call 804c3e8 <strcpy@plt+0x29b0> 805366a: 83 c4 10 add $0x10,%esp 805366d: 8d 65 f4 lea 0xfffffff4(%ebp),%esp 8053670: 5b pop %ebx 8053671: 5e pop %esi 8053672: 5f pop %edi 8053673: 5d pop %ebp 8053674: c3 ret 8053675: 8d 76 00 lea 0x0(%esi),%esi 8053678: 53 push %ebx 8053679: 56 push %esi 805367a: 68 d1 e4 05 08 push $0x805e4d1 805367f: ff 35 28 5d 06 08 pushl 0x8065d28 8053685: e8 de 5e ff ff call 8049568 <fprintf@plt> 805368a: 59 pop %ecx 805368b: ff 35 28 5d 06 08 pushl 0x8065d28 8053691: e8 f2 5e ff ff call 8049588 <fflush@plt> 8053696: c7 04 24 01 00 00 00 movl $0x1,(%esp) 805369d: 4e dec %esi 805369e: e8 e5 60 ff ff call 8049788 <sleep@plt> 80536a3: 83 c4 10 add $0x10,%esp 80536a6: 85 f6 test %esi,%esi 80536a8: 74 9a je 8053644 <getopt_long_only+0x5c44> 80536aa: a1 70 57 06 08 mov 0x8065770,%eax 80536af: 85 c0 test %eax,%eax 80536b1: 75 91 jne 8053644 <getopt_long_only+0x5c44> 80536b3: eb c3 jmp 8053678 <getopt_long_only+0x5c78> 80536b5: 8d 76 00 lea 0x0(%esi),%esi 80536b8: 51 push %ecx 80536b9: 68 e0 e4 05 08 push $0x805e4e0 80536be: e9 43 ff ff ff jmp 8053606 <getopt_long_only+0x5c06> 80536c3: 90 nop 80536c4: 85 ff test %edi,%edi 80536c6: 75 f0 jne 80536b8 <getopt_long_only+0x5cb8> 80536c8: 56 push %esi 80536c9: 0f bf 5d c2 movswl 0xffffffc2(%ebp),%ebx 80536cd: 53 push %ebx 80536ce: 0f bf 4d c0 movswl 0xffffffc0(%ebp),%ecx 80536d2: 51 push %ecx |
|||
118
strange2007
12.05.12
✎
08:31
|
(117) Круто. Расскажи как должно работать. Т.е. что именно добиться?
|
|||
119
smaharbA
12.05.12
✎
08:34
|
как отменить 30-кратный цикл ?
|
|||
120
Xapac
12.05.12
✎
08:37
|
(0)Вопрос примерно так звучит.
Хочу пожарить картошки, посоны, как это сделать без картошки? |
|||
121
dmpl
12.05.12
✎
08:47
|
(65) Ну... в начале 90-х может быть. А так - Visual Studio 98 уже быстрее в разы код выдает.
(117) Это что за извращение? В настоящем Ассемблере результат помещается в первый аргумент. А тут ересь полная ;) (118) Защиту программы, по ходу дела, ломает. А это 273-я статья УК. |
|||
122
IVIuXa
12.05.12
✎
08:54
|
(120)
как это сделать без обязательной покупки машины картошки |
|||
123
smaharbA
12.05.12
✎
08:55
|
(0) apt-get install shc
|
|||
124
dmpl
12.05.12
✎
08:56
|
(122) Сходи в Макдональдс.
|
|||
125
IKSparrow
12.05.12
✎
08:57
|
(0)
WATCOM C/C++ Практически любая реализация FORTH |
|||
126
ado
12.05.12
✎
09:12
|
(122) Машину картошки уже завезли в ближайший магазин. Но ты из принципа не хочешь туда идти.
|
|||
127
IVIuXa
12.05.12
✎
09:14
|
(126)
дело не в принципе, зачем мне машина картошки, которую завезли в магазин, если мне нужно пару картошек ? |
|||
128
strange2007
12.05.12
✎
09:16
|
(121) Не, просто кусок выдрал через декомпилятор. Сейчас ему придаю читабельный вид
|
|||
129
IVIuXa
12.05.12
✎
09:16
|
(123)
виня не понимает ваш убунтовый сленг :) |
|||
130
strange2007
12.05.12
✎
09:17
|
Хотя не, точно немного неполная часть. Строка
ADD $0x10,%esp уже ссылается на непонятный адрес. При чем не известно, что по нему находится. На асме пишутся относительные адреса, а не абсолютные же |
|||
131
strange2007
12.05.12
✎
09:20
|
(129) Это он так сумничал поставить оболочку скриптовую самую крутую, которую почти ни кто не инсталлируют в стандартные сборки. Не обращай внимания, тут своя специфика
|
|||
132
Mashinist
12.05.12
✎
09:22
|
||||
133
ado
12.05.12
✎
09:24
|
(127) Так поди и купи эту пару. И не пытайся выращивать картошку на подоконнике.
|
|||
134
IVIuXa
12.05.12
✎
09:24
|
(117)
80536a8: 74 9a je 8053644 <getopt_long_only+0x5c44> на je 80536aa <getopt_long_only+0x5c44> нее ? |
|||
135
IVIuXa
12.05.12
✎
09:26
|
(133)
не продают заразы - только целую машину... пару картошек только чувакам у которых корочка (С++) :) |
|||
136
smaharbA
12.05.12
✎
09:32
|
(134) почти, тока достаточно eb и все далее само ретурн )
|
|||
137
strange2007
12.05.12
✎
09:33
|
(132) А на PB будет так
MessageRequester("Мой юникоде текст ????", "tttttt") |
|||
138
strange2007
12.05.12
✎
09:34
|
(136) Признаю, тупой
|
|||
139
Xapac
12.05.12
✎
09:37
|
(135)Ну используй с++. или опять дело принципа?
|
|||
140
IVIuXa
12.05.12
✎
09:39
|
(139)
используй свое умение прочитать (0) (достали уже с c++ ) |
|||
141
strange2007
12.05.12
✎
09:40
|
(139) Если честно, мне и с четвертого раза С++ не понравился. Ну не всем он нравится. Какой-бы не был он мегакрутым, не везде он пригодиться может
|
|||
142
Xapac
12.05.12
✎
09:44
|
(140)из 0 непонятно по какую платформу вам нужен компилятор.
|
|||
143
badboychik
12.05.12
✎
09:45
|
AutoIt это почти то же самое что пюрбейсик, и тоже может в ЕХЕ компилиться и ГУИ-редактор есть
Не люблю бейсик. Лучше бы сишный синтаксис прикрутили в пюрбейсик |
|||
144
dmpl
12.05.12
✎
09:49
|
(141) Ну да, обработку для 1С на нем писать нелегко будет...
|
|||
145
IVIuXa
12.05.12
✎
09:49
|
(143)
нуууу у меня пример не заработал из встроеных пример - открыть калькулятор, набрать вычисление |
|||
146
Sun_Lin
12.05.12
✎
09:50
|
(0) watcom C, можно использовать вообще без IDE, файл с расширением .с и мак-файл, компилятор вместе с базовыми библиотеками метров 20 всего. Ничего более компактного никогда не видел (имею ввиду НЕбейсик).
|
|||
147
Xapac
12.05.12
✎
09:50
|
(141)а никто не говорит. что он ВЕЗДЕ пригодится может. У каждого есть свой круг решаемых задач.
|
|||
148
dmpl
12.05.12
✎
09:51
|
(146) Digital Mars C++ Compiler смотрел?
|
|||
149
badboychik
12.05.12
✎
09:52
|
щас проверил - простой скрипт AutoIt компилится в ЕХЕ размером 300кБ. Никакие библиотеки не нужны
|
|||
150
badboychik
12.05.12
✎
09:54
|
(145) это потому что там расчитано на английскую винду, надо набрать по русски "Калькулятор" в скрипте где вызывается поиск окна по строке заголовка
|
|||
151
strange2007
12.05.12
✎
09:54
|
(143) вкусы у всех разные и каждый имеет право на место под солнцем. Я рассуждал исходя из критериев:
- Поддержка асма, т.к. он самый родной - Кросплатформенность - Минимальные размеры - Как можно проще нальа разработки - Инструментарий для создания больших проектов. Так-же следовал советам, читал, пробовал. Когда понял, что установка и настройка Qt занимает почти как разворачивание масма, остановился на ПБ |
|||
152
strange2007
12.05.12
✎
09:56
|
(149) 300кб? Если не секрет, а что скрипт делает?
|
|||
153
IVIuXa
12.05.12
✎
09:56
|
(150)
прикольно на vbs тоже можно замутить конечно не компилится, но запускаться будет |
|||
154
Xapac
12.05.12
✎
10:00
|
(149)много это 300 кб
как то сравнивали. дельфийское 600-900 (пустое окошко) с++ 69 кб |
|||
155
dmpl
12.05.12
✎
10:03
|
(154) Это вы еще линковку по-нормальному не настроили. Тот же C++ для встраиваемых устройств (MS eMbedded C++) пустое окно может создать заняв всего 7 кБ. То же самое можно сделать и с обычным Visual C++, только надо правильный def файл создать.
|
|||
156
Xapac
12.05.12
✎
10:04
|
(155)то был билдер и 2003-й год. я мог сейчас и соврать.
|
|||
157
strange2007
12.05.12
✎
10:07
|
Окно авторизации, главное окно, всякие загрузки и сохранения системных настроек со стропроцентными проверками всех ситуаций, конвертация и определение языковых файлов, создание рабочих каталогов, протоколирование (по размеру, либо разделение по дням, понедельно или помесячно). В ресурсах с десяток иконок и языковый файл по умолчанию. На все про все 56 кб. Всего строк 2300 (с учетом всех комментариев и пробелов)
|
|||
158
badboychik
12.05.12
✎
10:09
|
(152) окно и пара кнопок с обработчиками нажатий
|
|||
159
strange2007
12.05.12
✎
10:10
|
(158) Фигово. Для больших вещей надо будет требовать большие компы. Немного не в пользу
|
|||
160
strange2007
12.05.12
✎
10:49
|
Во! В пользу PB. Одна парочка компонент:
"Scintilla это бесплатный компонент для редактирования исходного кода. Он поставляется с исходным кодом и лицензией разрешающей использовать её в любых бесплатных или коммерческих проектах. Лицензия может быть найдена здесь. Исходный код и документацию можно найти на Scintilla Homepage." Вот другая: "Камеры используются, для отображения 3D-пространства. Ими можно управлять как реальными камерами (перемещать, осуществлять вращение, изменять угол обзора и т.д.). Необходима минимум одна камера render для отображения на дисплее. Много камер с различными позициями и положениями могут использоваться одновременно, которые делают возможными первоклассные эффекты как Splitscreen (полиэкран, для нескольких игроков), зеркала заднего вида и т. д." Или вот: "Привилегированный файл, содержит определяемые пользователем параметры программы. Он хранится на диске и загружается каждый раз при запуске программы (например 'файл.INI' в Windows ). PureBasic дает возможность создать привилегированный файл, используемый на любом компьютере (на различных платформах). Формат файла по умолчанию сохраняется в ASCII. Используя синтаксис одной строки 'ключ = значение'. Для удобства чтения, могут быть созданы группы." |
|||
161
badboychik
12.05.12
✎
10:51
|
(158) че то не понял, откуда такой вывод?
(160) у AutoIt тоже редактор на основе scintilla |
|||
162
strange2007
12.05.12
✎
10:54
|
(161) "че то не понял, откуда такой вывод?" мне казалось, что в 300 кб должно поместиться огромнейшее приложение. Нет?
|
|||
163
slowpoke1C
12.05.12
✎
11:16
|
(151) А чем FreePascal не угодил?
а Кросс-платформенный ( Linux, FreeBSD, Haiku, Mac OS X/Darwin, DOS, Win32, Win64, WinCE, OS/2, Netware (libc and classic) and MorphOS) + для множества аппаратных платформ ()Intel x86, Amd64/x86_64, PowerPC, PowerPC64, Sparc, ARM, б Есть встроенный асм, в Многие учили паскаль в школе / институте г Есть три движка для GUI. д В отличие от PureBasic (PureBasic — диалект языка BASIC и коммерческий компилятор для него. см. wiki:PureBasic и http://www.purebasic.com/index.php), FreePascal совсем открытый и бесплатный. е И простой хелловорлд для командной строки компилится в 30 КБ, а небольшая программулина резервного копирования (тоже CLI) компилится в 32 КБ. Т.е., исполняемые файлы довольно компактны. |
|||
164
strange2007
12.05.12
✎
11:19
|
(163) ээээ... а графику на нем трудно ваять? Создать полноценное оконное приложение
|
|||
165
strange2007
12.05.12
✎
11:22
|
+(164) А то для меня паскаль = досовская хрень для учебных целей и разработки абсолютно ни кому не нужных алгоритмов на БК000001 с 15 кб памяти
|
|||
166
slowpoke1C
12.05.12
✎
11:35
|
(164), (165) В средах Lazarus, FPgui надо просто накидать компоненты, а среда разработки напишет для реализации этих окон код, с вызовом нужных библиотек.
|
|||
167
slowpoke1C
12.05.12
✎
11:36
|
+(166) Я начинал с Лазаруса, а потом перешёл на более компактный FPgui, сейчас делаю внутренние утилитки.
|
|||
168
slowpoke1C
12.05.12
✎
11:37
|
+(163) сайты про фрипаскаль: freepascal.org, freepascal.ru
|
|||
169
badboychik
12.05.12
✎
11:38
|
лазарус глючное УГ
А у AutoIt нет суперсложных примеров в поставке, поэтому не могу сказать, может оно и будет весить 350кБ. Там примерно 300 кБ занимает движок, значит усложнение проги не будет вести к большому росту файла |
|||
170
strange2007
12.05.12
✎
11:45
|
(168)
"Создание файла программы Основная программа состоит из четырёх обязательных частей: Создание и регистрация класса главного окна. Сначала заполняется специальная оконная структура типа WNDCLASS или WNDCLASSEX. Они содержат одни и те же поля, однако WNDCLASSEX имеет дополнительные поля: cbSize - сюда заносится размер WNDCLASSEX hIconSm - сюда заносится "маленькая иконка" приложения. Если маленькую иконку использовать не предполагается, то присваивается ноль. Скомпилированая с WNDCLASSEX программа имеет несколько больший размер. Главные поля класса: lpfnWndProc - сюда заносится адрес процедуры обработки сообщений главного окна программы. cbWndExtra - здесь, если диалоговое окно создаётся из ресурсов, должно присутствовать волшебное слово DLGWINDOWEXTRA. lpszClassName - здесь должно стоять название класса основного окна. Обращаю ваше внимание, что название должно быть точно таким же, как и название CLASS у того диалогового окна в ресурсе, которое будет главным. Регистрация класса проводится процедурой RegisterClass() для типа WNDCLASS и RegisterClassEx() для типа WNDCLASSEX. " ой нет, опять эти путанные повторяющиеся куски... нафуй-нафуй такое счастье |
|||
171
Адинэснег
12.05.12
✎
11:49
|
||||
172
strange2007
12.05.12
✎
11:53
|
(171) Поверь, вот это ГОРАЗДО ламернее
v8: Периодические РС. Что быстрее: запрос или метод? |
|||
173
Адинэснег
12.05.12
✎
12:31
|
(172) а я на ассемблеры и не замахивался...
v8: Роль "ПравоВыводаИнформации" как работает в УПП - тут ваще человека в конфигураторе забанили, бгг |
|||
174
strange2007
12.05.12
✎
12:45
|
(173) И? Я и не скрываю, что многое не знаю. Задаю вопросы, когда полный все. Только вот это право помимо печати может еще на десяток мест повлиять, а делаю то из расчета, что бы не переделывать. Соответственно надо много доков читать, а когда загрузка большая, читаешь только выборочную литературу. Заметь, народ на других форумах отозвался и рассказал что к чему исходя из своего опыта. В итоге вместо того, что бы тратить туеву хучу времени, каждый поделился своим.
В (172) эксперимент ставится за 15-20 минут, в одной из веток тут делали. При чем народ замер в файловом варианте, на МС СКЛе и на ПГ СКЛе сразу сделал. 15-20 минут!!!!!! я просто не вижу вариантов, на чем можно запороться. В (171) я первый раз с таким же вопросом тоже в ступор впал. Конфа сообщает что-то, значит она что-то где-то видит. Реально с первого раза я тупил где брать отчеты, т.к. не представлял какая структура. Представляешь сколько вариантов могло быть с предоставлением отчетности? В общем по моему мнению ты все равно зря насмехаешься над человеком, не посмотрев в зеркало |
|||
175
Адинэснег
12.05.12
✎
12:55
|
||||
176
ado
12.05.12
✎
13:57
|
Мне вот что не понятно. Ну ладно, на с++ у автора аллергия. А старый добрый Delphi чем не угодил?
|
|||
177
strange2007
12.05.12
✎
15:39
|
(176) не моё, напарники рассказывают, что у дельфи много устаревшего, а это уже минус. Еще раз, не моё, расскажи на сколько на нем просто делать нормальные приложения? Сегодня нач.юр.отдела очень крупной компании попросил дельфи7 и 9, а это уже настораживает
|
|||
178
ado
12.05.12
✎
16:56
|
(177) Что такое нормальные приложения, и какие с ними могут быть сложности? Насчет устарелости ничего сказать не могу, несколько лет уже не приходилось в руки брать. Впрочем, фронтир -- это платформы типа .net, а этого вы сами не хотите. Так что странно слышать жалобы на устарелость.
|
|||
179
Torquader
12.05.12
✎
21:47
|
Так в любом компиляторе есть опция "static" которая позволяет все используемые библиотеки положить внутрь файла, кроме стандартных библиотек Windows.
Собственно говоря - чем это не устраивает ? |
|||
180
badboychik
12.05.12
✎
22:18
|
Делфи ХЕ2 вроде нормальный стал по сравнению с седьмым, но я например как-то уже не могу писать на делфи после дотнета. Неудобно и не в кайф )
|
|||
181
orefkov
12.05.12
✎
22:19
|
Такое ощущение, что у некоторых копание в инструментах превратилось в самоцель, собственно уже заменившую собой саму работу. Где хоть какой-то результат, где мега-проекты, где? Одно только хвастовство и вороченье носа от предлагаемых вариантов. Ах да, конечно, как доходит до результатов, всё конечно же оказывается страшно секретными разработками для мега-компаний, за один показ скринов которого уже выедут черные воронки.
|
|||
182
IVIuXa
14.05.12
✎
03:02
|
(176)
вот что сие озночает ? = *((unsigned **** *) d_addr->h_addr); |
|||
183
IVIuXa
14.05.12
✎
03:05
|
+(182)
что такое указатель на указатель указателя - и самое главное нахрена ? |
|||
184
strange2007
14.05.12
✎
03:55
|
(178) Меня голый ВинАПИ напрягать стал, старый наверное уже. Не, всякие точки нет не катят, т.к. слишком уж тяжелые и зависимые от кучи софта, кроме оси
|
|||
185
IVIuXa
14.05.12
✎
08:13
|
(176)
зачем в дельфи антифриз и почему он криво работает ? |
|||
186
dmpl
14.05.12
✎
08:41
|
(181) А это как с фототехникой. Есть фотодрочеры, которые с пеной у рта долго и нудно выбирают тушку, объективы, режимы съемки... а в итоге шедевров все нет и нет :)
(182) А кто тебя заставляет такие конструкции использовать? Хотя тут ничего особо сложного и нет: значение h_addr (из названия следует, что это тоже указатель) приводится к типу unsigned ****, а затем разыменовывается. Т.е., это всего лишь чтение значения типа unsigned **** из адреса, на который указывает значение h_addr. (185) Чтобы программы не перегревались :) |
|||
187
Jstunner
14.05.12
✎
08:57
|
(182) приведение указателя к типу и его разыменование. Ничего сложного
(183) то, что до тебя не доходит, не значит, что это не нужно. Пример, структура колцевого двухсвязного списка. Имея указатель на эту структуру, для проверки списка на пустоту, потребутся тройное разыменование |
|||
188
IVIuXa
14.05.12
✎
09:41
|
(187)
нахрена его приводить к типу и разыменовывать ? |
|||
189
IVIuXa
14.05.12
✎
09:49
|
+(188)
вот а=2 - не проще такие конструкции использовать ? или так круче ? int *pa, a; *pa = 2; a = *pa; pa = &a; // нах |
|||
190
orefkov
14.05.12
✎
10:08
|
(189)
Не переживай. Имхо примерно 90% людей совершенно не могут понять концепцию указателей. Это нормально. |
|||
191
IVIuXa
14.05.12
✎
10:08
|
(190)
я переживаю за эти бедные 10% :) |
|||
192
dmpl
14.05.12
✎
10:09
|
(188) Приводить к типу - потому что тип не тот, что нужен (например, void *). Ну а разыменовывать - чтобы значение, лежащее по адресу указателя, получить.
|
|||
193
strange2007
14.05.12
✎
10:09
|
(190) а 90% из оставшихся 10 не вкупаются про смысл стека)))))))))
|
|||
194
IVIuXa
14.05.12
✎
10:16
|
преимущества использования указателей (официально):
1) скорость выполнения программы. 2) удобство программирования. ну фиг знает.... (не официально) Единственное приемущество указателей - возможность применения арифметики указателей для получения низких издержек на индексирование. Все остальные аспекты связанные с указателями скорее относятся к недостаткам, а не приемуществам. |
|||
195
strange2007
14.05.12
✎
10:19
|
(194) "скорость выполнения программы." это как? Либо просто пишем в переменную, либо сначала получить адрес переменной, а потом только писать. Разве это быстрее? Не, я может чего-то не знаю
|
|||
196
dmpl
14.05.12
✎
10:23
|
(194) Издержки на индексирование абсолюно одинаковые что при A[5], что при *(A + 5) - в обоих случаях это преобразуется в 1 инструкцию lea, или вообще используется mov с косвенной адресацией.
(195) Т.е., думаешь прежде чем записать в переменную значение, ее адрес определять не надо? Такое только для регистровых переменных работает, а их в x86 весьма немного (максимум 8 РОН), и пара-тройка из них обычно занята для служебных целей. |
|||
197
strange2007
14.05.12
✎
10:26
|
(196) Нет справочника по тактам под руками. Лень искать. Честно. Но разве операция
mov dword ptr [ebp+08], 1 будет дольше lea ebx, dword ptr [ebp+08] mov dword ptr [ebx], 1 или опять не правильно понимаю конструкцию? С указателями удобно работать, когда надо передать параметром куда-то и не более |
|||
198
dmpl
14.05.12
✎
10:40
|
(197) Современный компилятор для такого случая использует mov dword ptr [ebp+08], 1 что для A = 1, что при *pA = 1. Более того, они могут использовать такую конструкцию даже в случае
DWORD *pA; pA = &A; *pA = 1; если данное значение pA дальше не используется (например, для арифметики указателей). Хотя для современных процессоров даже lea ebx, dword ptr [ebp+08] mov dword ptr [ebx], 1 не скажется на производительности, если в программе делается что-нибудь еще, поскольку lea исполнится задолго до того, как очередь дойдет до mov (параллельно с другими инструкциями). |
|||
199
strange2007
14.05.12
✎
12:05
|
(198) "не скажется на производительности, если в программе делается что-нибудь еще, поскольку lea исполнится задолго до того, как очередь дойдет до mov (параллельно с другими инструкциями)." Не скажется совсем или не скажется чуть-чуть?
|
|||
200
НафНаф
14.05.12
✎
12:05
|
+200
|
|||
201
dmpl
14.05.12
✎
12:53
|
(199) Совсем. Тот же K10 от AMD имеет 3 блока AGU (на которых выполняется lea и вычисление адреса при косвенной адресации) и 3 блока ALU (которые, собтсвенно, произведут присваивание). 2 инструкции вместо одной скажутся только в сильно оптимизированном коде, где темп исполнения достигает 3 инструкций/такт - в этом случае декодер будет ограничивать скорость исполнения. Но такой код никакой компилятор не выдаст, тут только ручной хардкорный труд ассемблерщика. И при операциях с памятью 3 инструкции/такт практически недостижимы.
|
|||
202
Jstunner
14.05.12
✎
13:42
|
(194) вопрос терминологии. Указатели в том или ином виде присутствуют почти в любом ЯП.
|
|||
203
Jstunner
14.05.12
✎
13:48
|
(201) если эти две инструкции исполняются в вакууме, то возможно и не будет разницы. Но, если в коде, например, цикла десятки других lea и mov, зависимых друг от друга, то одиночный mov будет быстрее
|
|||
204
dmpl
14.05.12
✎
14:25
|
(203) Практические измерения не показывают хоть сколько-нибудь заметных выигрышей по скорости при использовании одиночной инструкции mov в подобных ситуациях. В синтетике, конечно, можно выявить разницу, но на то она и синтетика.
А насчет десятков других зависимых инструкций - так задержки на доступ к RAM из-за произвольного доступа и низкой эффективности кеширования будут значительно выше возможной задержки от lea (и по факту она окажется скрытой). Даже хит L1D, не предсказанный заранее, вызовет задержку в 3 такта, хит в L2 вызовет задержку в 12 тактов, хит в L3 - около 60 тактов, ну а если не повезло и надо в память лезть - все 150-200 тактов. |
|||
205
Torquader
15.05.12
✎
01:32
|
Указатели удобны только для передачи массивов значений и для явного преобразования типов.
Например, я сложил в память всякую хрень, типа 01 45 56 32 А потом хочу достать два байта ((unsigned short*)p)[1] - и я получаю 0x3256 Другое дело, что можно сначала определить структуру, то есть составной тип, а потом его передавать по ссылке - это будет всем понятно - но - бывают ситуации, когда формат записи зависит от самой записи - тогда без указателей с ней работать очень сложно. В любом случае - указатели - это ассемблер - и никакого автоматического управления памятью быть не может. Именно по этой причине программы на Си часто падают с непонятными ошибками. P.S. например, выяснилось, что ни компиллятору ни процессору не по зубам следующая инструкция: unsigned long a; unsigned char*pch; unsigned short*psh; a=0x12345678; pch=(unsigned char*)(&a); pch++; psh=(unsigned short*)pch; (*psh)=0xABCD; И произошла фигня - двухбайтовое число оказалось на границе нечётного байта. |
|||
206
Jstunner
15.05.12
✎
05:50
|
(205) в Си указатели удобны для всего, потому что, в отличии от ссылок, они могут быть не константныи. И используются повсеместно, для передачи "ссылок" на объекты.
Что касается арифметики указателей, то в современных программах ее используют в двух случаях: профессиональными Си-программистами, которые знают о чем-то, чего не знаем все мы; остальные влезают банально по не знанию, что есть десятки других удобных способом, не использовать арифметику указателей вовсе. Не может быть автоматического управления памятью?? Я сейчас тружусь на работе, где основной ЯП полностью совместим с Си и обладает автоматическим сборщиком мусора.. Каково? Ps: можно сколь угодно написать кода с явным приведением типов, который окажется "не по зубам" |
|||
207
dmpl
15.05.12
✎
09:09
|
(205) В смысле не по зубам? Все работает так, как и должно работать. Что хотел - то и получил.
И, кстати, что такого в том, что двухбайтовое число оказалось по нечетному адресу? Ничего такого в этом нет, максимум штраф за 2 доступа к кешу вместо 1, когда это число попадет на границу строк кеша. Ну и store-to-load forwarding, скорее всего, не сработает (т.е. будет задержка на несколько тактов, если попытаться обратиться к только что записанному в память значению). |
|||
208
orefkov
15.05.12
✎
09:29
|
(207)
Это на x86 ничего страшного, что двухбайтовое число не выровнено по четному адресу. А допустим на ARM'е - низзя, проц сразу сгенерит исключение. |
|||
209
dmpl
15.05.12
✎
10:15
|
(208) Ну значит на ARM компилятор просто обойдет это с помощью нескольких инструкций - считает данные с корректным смещением, вставит в нужной позиции нужные данные и запишет обратно.
И вообще, зачем вести речь о недопроцессорах, которые не могут нормально память адресовать? ;) В тех же БД такое встречается сплошь и рядом. |
|||
210
orefkov
15.05.12
✎
10:24
|
(209)
ARM - недопроцессор? Производители смартфонов, планщетов, фотоаппаратов и т.д. и т.п. смотрят на тебя как то с недоумением, и одновременно смеются над тобой. У тебя по карманам наверняка 2-3 девайса лежит на ARM'е. |
|||
211
dmpl
15.05.12
✎
10:41
|
(210) ARM суют в мобильные девайсы по одной причине - они меньше потребляют при удовлетворительной для мобильных девайсов производительности. Ну и производят их все кому не лень, а потому они дешевы. При этом все более или менее требовательные к производительности части реализуются спец. микросхемами (блоками), а не ARM.
P.S. А в кармане лежит максимум 1 девайс - Sony Ericsson T610, смартфоны не признаю (во-первых, ими пользоваться неудобно, во-вторых, нельзя ронять на бетонный пол, в-третьих, они просто огромные, в-четвертых, батарейку высасывают очень быстро), планшет мне не нужен. Девайсы на ARM есть (тот же автонавигатор или читалка), но они все тормоза поголовно, даже до Atom'а не дотягивают по производительности. |
|||
212
Jstunner
15.05.12
✎
11:55
|
(211) ARM сравнительно молодая архитектура, и гораздо более перспективная, нежели x86. x86 - устарела донельзя, и то что процессоры на его архитектуре достигли очень высокой производительности, результат миллиардных вливаний в инженеров, которые чудом из какашки выдавливают последние соки.
А у того, кто обращается к данным по не выровненным адресам, просто руки из опы растут :) |
|||
213
dmpl
15.05.12
✎
12:38
|
(212) Да ладно? С 1983-го года и все молодая? Ну тогда и x86 совсем не старая ;)
|
|||
214
gnus
16.05.12
✎
11:44
|
turbo C 2.0
|
|||
215
IVIuXa
18.05.12
✎
13:57
|
(еще один гвоздь в с++)
скажите название хоть одной книжки (не c .NET) где есть нормальное описание работы с сокетами с протоколами (например pop3) на purebasic за день сделал почтового клиента с приемом файлов... 16кб чистый сокет + протокол pop3 + декодировщик-исправляльщек(base64) + буферы ( указатели(фиг с вами :) )) + узнал, что purebasic работает прям напрямую с api винды, короче сильная весч на с++ там бы походу вообще дебри были.... на c# за час бы сделал, но .NeT зараза все портит |
|||
216
IVIuXa
18.05.12
✎
14:01
|
||||
217
IVIuXa
18.05.12
✎
14:05
|
+(216)
смотрю 7 книгу по С++ ни намека на библиотеки тем более на сокеты все какая то чушь про наследование и указатели друг на друга, короче все что не нужно алгоритмы там всякие перестановок.... ничего полезного не нашел |
|||
218
dmpl
18.05.12
✎
14:18
|
(215) MSDN, Platform SDK, если под Windows.
(217) Не там смотришь. |
|||
219
Fragster
гуру
18.05.12
✎
14:36
|
я хз, чО там в книгах, но встроенный в QTcreator мануал - прекрасен, лучше чем СП
|
|||
220
IVIuXa
18.05.12
✎
14:40
|
(218)
типа http://msdn.microsoft.com/ru-ru/library/system.net.sockets.socket.aspx#Y228 нуууу блин мозг ломается bytes = s->Receive( bytesReceived, bytesReceived->Length, static_cast<SocketFlags>(0) ); strRetPage = String::Concat( strRetPage, Encoding::ASCII->GetString( bytesReceived, 0, bytes ) ); не ну его нафиг s->Send( bytesSent, bytesSent->Length, static_cast<SocketFlags>(0) ); |
|||
221
dmpl
18.05.12
✎
14:43
|
(220) Ну и на чем он ломается конкретно?
|
|||
222
Fragster
гуру
18.05.12
✎
14:43
|
(221) видимо, на комментарии
// The following will block until te page is transmitted. |
|||
223
IVIuXa
18.05.12
✎
14:44
|
+(220)
почти тоже самое у меня на бэйсике - все понятно :) RequestLength.l = ReceiveNetworkData(ConnectionID, *BufferT, MessageSize(i)) CopyMemory(*BufferT, *Buffer+BufferLength, RequestLength) |
|||
224
IVIuXa
18.05.12
✎
14:45
|
(222)
кстати да, нафига ? |
|||
225
smaharbA
18.05.12
✎
14:46
|
всш работает с апи через врапер, в большинстве будет достаточно и никаких компиляторов
|
|||
226
smaharbA
18.05.12
✎
14:46
|
не важно всш, хта и т.п.
|
|||
227
Fragster
гуру
18.05.12
✎
14:46
|
(223) а что непонятно? вызов метода объекта через ->?
(224) тебе как бы говорят - пока вся страница не передастся - будет выполняться этот цикл |
|||
228
smaharbA
18.05.12
✎
14:47
|
+ врапер может быть включон как в скрипт так и в хта
|
|||
229
IVIuXa
18.05.12
✎
14:48
|
(227)
вот что такое String ? |
|||
230
smaharbA
18.05.12
✎
14:48
|
класс
|
|||
231
Fragster
гуру
18.05.12
✎
14:48
|
(229) класс со статическим методом Concat...
|
|||
232
smaharbA
18.05.12
✎
14:50
|
самый луччший это васик, на крайняу сишарп, все си придуманы для садомазо
|
|||
233
IVIuXa
18.05.12
✎
14:50
|
(231)
во первых может это не класс ? во вторых откуда ты это знаешь ? |
|||
234
dmpl
18.05.12
✎
14:50
|
(223) А от этого не разрывается:
http://msdn.microsoft.com/en-us/library/ms882964 (229) Класс хитрый. |
|||
235
Fragster
гуру
18.05.12
✎
14:51
|
(233) я немного прочитал описание синтаксиса языка
|
|||
236
IVIuXa
18.05.12
✎
14:51
|
(232)
да да да да да + 100500 да ++++++++++++++++++ :) |
|||
237
Fragster
гуру
18.05.12
✎
14:51
|
(233)+ немного прочитал, что такое статические, асбтрактные, виртуальные и прочие плюшки в ООП
|
|||
238
Fragster
гуру
18.05.12
✎
14:51
|
(232) куйня
|
|||
239
IVIuXa
18.05.12
✎
14:52
|
(235)
структура ? а может там уже чет переопределили а может метод класса перегружен, а может еще чего... |
|||
240
IVIuXa
18.05.12
✎
14:52
|
+(239)
да нафиг я бы разбирался.... |
|||
241
Fragster
гуру
18.05.12
✎
14:55
|
(239) чо ты плетешь?
|
|||
242
IVIuXa
18.05.12
✎
14:56
|
(241)
что именно тебе не понятно ? |
|||
243
Fragster
гуру
18.05.12
✎
14:58
|
(242) непонятен твой поток сознания про вызов конкретного статического метода конкретного класса... при чем тут пееропределение, перегрузка и прочее?
|
|||
244
sapphire
18.05.12
✎
14:59
|
||||
245
IVIuXa
18.05.12
✎
14:59
|
(243)
ну может какой нить другой чувак(или я) в начале программы че нить сделал :) потом через месяц пришел и забыл :) |
|||
246
Fragster
гуру
18.05.12
✎
15:02
|
(245) ну расскажи мне, что можно сделать со статическим методом класса
|
|||
247
dmpl
18.05.12
✎
15:05
|
(245) А ты не делай так ;) Кстати, что ты к этой строчке привязался? Она просто преобразует число в строку. itoa() или sprintf() никто не отменял.
|
|||
248
Fragster
гуру
18.05.12
✎
15:07
|
(247) нифига, оно просто склеивает строки. а Encoding::ASCII - преобразует кодировки
|
|||
249
Fragster
гуру
18.05.12
✎
15:07
|
просто там строки не просто нул терминатед, а хитрые
|
|||
250
IVIuXa
18.05.12
✎
15:09
|
(246)
ничего если знаешь что он статический |
|||
251
dmpl
18.05.12
✎
15:15
|
(248) Ну просто создатели .NET - извращенцы :) Код из (223) вполне можно заменить на
bytesReceived = recv (ConnectionID, BufferT, BufferTSize, 0); memcpy(BufferT, Buffer+BufferLength, bytesReceived); |
|||
252
IVIuXa
18.05.12
✎
15:15
|
(223)
причем сами функции типа ReceiveNetworkData я так понял пишутся на том же бэйсике с обращением к апи виндовым либо ассемблерные вставки короче это все работает дико быстро |
|||
253
dmpl
18.05.12
✎
15:16
|
(251) Точнее (Buffer+BufferLength, BufferT, bytesReceived);
|
|||
254
IVIuXa
18.05.12
✎
15:24
|
+(250)
читаю в книжке : В качестве «краеугольного камня» изучения перегрузки операций мы построим класс String (рис. 11.9-11.11), который управляет созданием и обработкой строк. Стандартная библиотека C++ предоставляет похожий, более надежный.класс string. Как вы помните, мы ввели стандартный класс string в главе 3. Дополнительный пример с классом string рассматривается в разделе 11.13. Сейчас мы воспользуемся перегрузкой операций для создания своего собственного класса String. Сначала мы рассмотрим заголовок класса String и обсудим закрытые данные, используемые для представления объектов String. Затем мы проанализируем открытый интерфейс класса, обсуждая каждую из услуг, которые предоставляет наш класс. Мы обсудим определения элемент-функций класса String. Для каждой перегруженной операции мы рассмотрим код в программе-драйвере, который активирует данную функцию-операцию, и объясним, как работает эта перегруженная функция-операция. Определение класса Рассмотрим заголовочный файл класса String на рис. 11.9. Мы начнем с внутреннего представления String. В строках 55-56 объявляются закрытые элементы данных класса. Наша реализация класса String имеет поле длины length, представляющее число символов в строке, не считая завершающего нуль-символа, и указатель ptr на динамически выделенную память для внутреннего представления строки символов. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |