41

(14 525 відповідей, залишених у Інше)

Invader, подивіться з іншого боку: на території маєтку озеро з рибою, короткий паркан, маєток багато часу пустує, якісь падли перелазять паркан та глушать рибу електровудкою, кидають сміття. От що у таких людей в головах?

42

(14 відповідей, залишених у Статті)

Ініціативність це дуже добре, приклад: якби не ваші думки на тему криптора/вм - мене б тут не було. Здатність "зацікавити/спровокувати" повинна чимось підігріватися, мати мету (наприклад, заявити про себе). Щодо моєї мети, то задля її досягнення цього всього дуже замало, та й мислити іншими категоріями потрібно, ось тому і відчувається в'ялість у праці в сфері кодингу, а альтернативи реально не видно. Сколотити рух/банду? У мене був досвід колективної праці - лебідь, щука і рак, не сподобалося. Іноді беруть сумніви, але я завжди згадую про АТО, і сумнівів як не було. Єдине що важко робити, так це передбачувати, розуміти соціальні настрої - це навіть важливіше за саму працю. Я не ідеаліст.
От зацікавте мене: як заробити дуже багато грошей? Класичні теми, чи щось нереальне потрібно зробити (низькорівнева всячина), або ж "терпение и труд все перетрут"?

43

(14 відповідей, залишених у Статті)

0xDADA11C7 написав:

аби бути помітною медійною хвигурою потрібно створювати або руйнувати сенси, а над цим вам ще працювати і працювати.

Ну було задовбався трохи (маленька криза у житті), а ви мені й досі згадуєте. Руки/ноги/голова цілі, нафіг потрібна та філософія із сенсами. Все норм ;)

44

(14 відповідей, залишених у Статті)

Мої вміння та навички, поки що, занадто скромні, аби для них створювати блог.

45

(198 відповідей, залишених у Системне програмування)

Прикрутив ShellExecute.
Залишилось написати парсер вашого виразу ('%% WRITE ,+, 29 AB CD') в io_module.exe та подумати над взаємодією із fasm'ом.
http://i72.сайт-злодій/big/2015/0909/4e/38254cb38a78f82ebbdf487c833e104e.png

46

(198 відповідей, залишених у Системне програмування)

Реалізація, як саме робити, це вже інше питання, відповідь від їхньої спільноти - "нам недоцільно паяти такі милиці, вам треба - робіть самі".
Те що ви пропонуєте, по логіці, легко зробити - просто стартуємо додатковий модуль з параметрами ('%% WRITE ,+, 29 AB CD'), модуль парсить аргументи cmd і працює. Звичайно хотілося б в рамках однієї "коробки" зробити, але це непросто, тим паче нутрощі fasm'у недокументовані (хоча він і гарно написаний, всеодно, приходять думки, що простіше самому написати компілятора, аніж там розібратися :)).
Поживемо подивимось, хто зна, може і зробиться щось, але так, для "вузького кола".

47

(7 відповідей, залишених у Обговорення)

У Данії перекрили шосе, щоб мігранти безпечно дійшли до Швеції
Швеція є одним з найпопулярніших напрямків серед біженців, які прибувають в ЄС з Близького Сходу та Африки.

http://tyzhden.ua/News/145563

Краще таки до Грузії буде)

48

(198 відповідей, залишених у Системне програмування)

revolution пише:

Using file I/O is OS dependant. I wonder if you are confusing fasmg with some sort of HLL.

But anyway, firstly you have to define which CPU you are targeting so that the binary output code can run on the CPU (X86 or ARM etc.). Then you need to define which OS you are targeting so you can interact with the I/O APIs ("int 0x80" or "invoke function" etc.), and to format the output binary accordingly (PE or ELF etc.).

Не файно буде робити подібну підтримку задля декількох ОС та одного проца (що цілком вірно), суперечить це, бо FASM 2 у нас таки "багатонаціональний" у плані підтримки процесорів та систем.
Коротше треба качати скілл та доповнювати самому, або раз така пляска, то й створити щось своє на тому ж C, який буде легше підтримувати та доповнювати подібними плюхами, а там і до якогось "VX-фреймворка" недалеко з такими темпами.

49

(198 відповідей, залишених у Системне програмування)

Да хоча б і так. Сьогодні у них на форумі запитаю.

Прихований текст

Сумніваюся, що він на таке піде, бо в нього завжди своя думка на рахунок додавання нових фіч. Он скільки народу про багаторядкові коментарі /* ... */ просило, а він ніяк, типу "це перечить філософії фасму". Ну все одно, пропатчили самостійно)) Гадаю і тут так буде, кому треба)

50

(198 відповідей, залишених у Системне програмування)

Прихований текст

Мене самого частенько штормить по типу "шефвсёпропало!!1" (ну там вінда впровадила підпис дров, або андроїд робить неможливим зробити якісь речі і т.п. складнощі). Завжди згадую інтерв'ю із Ms-Rem'ом:

Для многих системщиков идеология Vista принесла головную боль, я говорю про политику в отношении драйверов, насколько оправдан такой шаг ?

для меня он не имеет никакого значения,  обойти эту защиту будет делом пяти минут

Ще кажуть, що він самостійно баги патчив на win.. Oo Інтерв'ю старе, але принципи та ідеї залишились, що і вселяє надію.

Складність зростає з шаленою швидкістю, треба багато розуміти, аби робити прості речі. Подібну мандражку бачив на багатьох форумах..

51

(4 відповідей, залишених у C++)

for(початкове значення ; умова циклу ; крок)
Так як "початкове значення" у вашому випадку передається через аргумент, то в умові циклу воно опущене.

В котрий раз перечитував главу "Складні оголошення" в K&R.. згадав про чудову замітку, яка свого часу спростила мені розуміння цих заплутаних речей. Вирішив її перекласти для нашої спільноти.

А як взагалі формується основний принцип розбіру складних синтаксичних конструкцій мови, типу "вказівник на функцію, що повертає вказівник на масив із трьох вказівників на функції, що повертають int"?

Давно і чітко формалізовано у вигляді правила "право-ліво". Все просто. Маємо:

  • () - функція, що повертає...

  • [] - масив із...

  • * - вказівник на...

Процес розбіру ітеративний:

  • Першим ділом знаходимо ім'я, від котрого і будем починати. Пляски починаються зі слів "Ім'я є..."

  • Наступний крок - крок вправо. Що там у нас справа? Якщо (), то говоримо, що "Ім'я є функція, що повертає...". (якщо між дужок щось є, то "Ім'я є функція, приймаюча те, що між дужок, що повертає...")
    Якщо там [], то "Ім'я є масив із...". І таким ось чином ми йдемо вправо до тих пір, доки не дійдем до кінця оголошення чи правої ) дужки. Тут пригальмуємо...

  • ...і починаємо танцювати вліво. Що у нас зліва? Якщо це щось не з наведеної вище таблиці (тобто не (), [], *), то просто додаємо до вже наявної розшифровки. Якщо ж там щось з цих трьох символів, то додаємо те, що написано в таблиці. І так танцюємо до тих пір, доки не дійдемо до кінця (точніше - початку оголошення) або лівої ( дужки. Якщо дійшли до початку, то все готово. А якщо дійшли до (, то по вже зазначеній ітеративності переходимо до кроку 2 - пляски вправо продовжуємо.

Приклад:

int (*(*(*fptr)())[3])();
          ^^^^

1. Знаходимо ім'я та записуємо "fptr є..."
2. Крок вправо, але там ), тому ідемо вліво

int (*(*(*fptr)())[3])();
         ^

і отримуємо "fptr є вказівник на..."

3. Продовжуємо їхати вліво, але тут (. Ідем вправо

int (*(*(*fptr)())[3])();
               ^^

отримуємо "fptr є вказівник на функцію, що повертає...". Знову ), знову вліво.

4. Отримуємо

int (*(*(*fptr)())[3])();
       ^

"fptr є вказівник на функцію, що повертає вказівник на..." Зліва знову (, ідем вправо.

5. Отримуємо

int (*(*(*fptr)())[3])();
                  ^^^

"fptr є вказівник на функцію, що повертає вказівник на масив із трьох..." І знову справа ), вирушаємо вліво

6. Отримуємо

int (*(*(*fptr)())[3])();
     ^

"fptr є вказівник на функцію, що повертає вказівник на масив із трьох вказівників на..." Знову поворот вправо з причини (

7. Отримуємо

int (*(*(*fptr)())[3])();
                      ^^

"fptr є вказівник на функцію, що повертає вказівник на масив із трьох вказівників на функції , що повертають..." Тут кінець опису, поїхали вліво та отримали кінцеву розшифровку цієї каракулі

8.

int (*(*(*fptr)())[3])();
^^^

"fptr є вказівник на функцію, що повертає вказівник на масив із трьох вказівників на функції, що повертають int"

Саме те, чого ти й хотів. Просто?

Першоджерело: http://www.kalinin.ru/programming/cpp/17_07_00.shtml

53

(198 відповідей, залишених у Системне програмування)

Ох блін, а я про jni зовсім не подумав *SCRATCH* Весело..)

54

(8 відповідей, залишених у Оцінка сайтів)

файрфокс, win 7, арбайтен.

55

(340 відповідей, залишених у Обговорення)

reverse2500 написав:

давай я відкритий як фоп, а ми зробимо виробницство, то лиш і чув, нашо воно треба ...

Які матеріальні активи можете запропонувати?

56

(198 відповідей, залишених у Системне програмування)

quick sort

format pe console

section '.code' import readable writeable executable

include 'win32ax.inc'

library msvcrt, 'msvcrt.dll'

import msvcrt,\
            printf, 'printf',\
            getchar, 'getchar'


proc print, arr, n
    locals
        frmt_byte       db '%d%s',  0

        left_bracket    db '[',     0

        delim_comma     db ', ',    0
        right_bracket   db ']',     13, 10, 0
    endl

    cinvoke printf, edx, addr left_bracket

    mov esi, [arr]
    xor ecx, ecx

@@: push ecx

    mov edx, [n]
    dec edx
    cmp ecx, edx
    jne .comma

    lea edx, [right_bracket]
    push edx

    jmp .next

.comma:
    lea edx, [delim_comma]
    push edx

.next:
    movzx eax, byte[esi]
    cinvoke printf, addr frmt_byte, eax
    add esp, 4

    pop ecx
    inc ecx
    add esi, 4

    cmp ecx, [n]
    jne @b

    ret
endp

proc qsort, arr, left, right
    mov edx, [right]
    mov ebx, [left]
    mov edi, [arr]

@02:
    mov ecx, ebx
    lea eax, [edx + ebx]
    mov esi, edx
    mov eax, eax
    test eax, eax
    jns @03
    add eax, 1

@03:
    sar eax, 1
    mov eax, dword[eax * 4 + edi]
    jmp @05

@04:
    inc ecx

@05:
    cmp dword[ecx * 4 + edi], eax
    jl @04
    jmp @07

@06:
    dec esi

@07:
    cmp dword[esi * 4 + edi], eax
    jg @06
    cmp ecx, esi
    jg @09
    mov ebx, dword[ecx * 4 + edi]
    mov dword[ebp + 8], ebx
    mov ebx, dword[esi * 4 + edi]
    cmp dword[ebp + 8], ebx
    jle @08
    mov dword[ecx * 4 + edi], ebx
    mov ebx, dword[ebp + 8]
    mov dword[esi * 4 + edi], ebx

@08:
    inc ecx
    dec esi
    cmp ecx, esi
    jle @05

@09:
    mov ebx, dword[ebp + 12]
    cmp ecx, edx
    jge @10

    stdcall qsort, edi, ecx, edx

@10:
    cmp ebx, esi
    jge @11
    mov edx, esi
    jmp @02

@11:
    ret
endp


entry $
    stdcall print, arr, arr_sz
    stdcall qsort, arr, 0, arr_sz - 1
    stdcall print, arr, arr_sz

    cinvoke getchar
    xor eax, eax
    ret


    arr         dd 99, 88, 77, 66, 55, 44, 33, 22, 11
    arr_sz      = ($ - arr) / 4

[99, 88, 77, 66, 55, 44, 33, 22, 11]
[11, 22, 33, 44, 55, 66, 77, 88, 99]

Питання до пана 0xDADA11C7 бо він крипт шпрехає: на "ринку" є попит морфу smali-байткоду?

57

(340 відповідей, залишених у Обговорення)

Сумна тема.
Було розписав пару філософських абзаців, але стер. Напишу коротше, про що завжди варто пам'ятати в будь-якому місці: колом одні цинічні підори (це як висновок тих абзаців).
трішки мотивації. Не зважайте на сентименти - це дурниці, вони вам заважають, через них ви сумніваєтесь і слабшаєте у вирішенні питань де треба відповісти "так" чи "ні". Сконцентруйтесь на вирішенні своїх бажань, якщо еміграція вам допоможе у їх отриманні - вперед.
А як вам Грузія?

58

(229 відповідей, залишених у Windows)

А мені незрозумілий сенс в Universal CRT який впроваджено разом з Visual Studio 2015. Яке воно в біса універсальне? Замість msvcrt, треба ще дописувати ucrt та vcruntime, і імпортувати воно буде з якогось окремого фреймворку. Ключ /MT усе вирішує, але все таки..

І ще, чи то бага, чи що, але коли я виставляю No, на створення розділу з debug-інформацією, лінкер всеодно додає інфу про debug-дані розміром 1Ch байт (timestamp, major/minor ver., type і т.д.) та супутні дані (треш якийсь) розміром B4h.

0040203C  47 43 54 4C|00 10 00 00|42 00 00 00|2E 74 65 78| GCTL...B....tex
0040204C  74 24 6D 6E|00 00 00 00|00 20 00 00|0C 00 00 00| t$mn..... ......
0040205C  2E 69 64 61|74 61 24 35|00 00 00 00|10 20 00 00| .idata$5.... ..
0040206C  2C 00 00 00|2E 72 64 61|74 61 00 00|3C 20 00 00| ,....rdata..< ..
0040207C  B4 00 00 00|2E 72 64 61|74 61 24 7A|7A 7A 64 62| ґ....rdata$zzzdb
0040208C  67 00 00 00|F0 20 00 00|14 00 00 00|2E 69 64 61| g...р ......ida
0040209C  74 61 24 32|00 00 00 00|04 21 00 00|14 00 00 00| ta$2....!.....
004020AC  2E 69 64 61|74 61 24 33|00 00 00 00|18 21 00 00| .idata$3....!..
004020BC  0C 00 00 00|2E 69 64 61|74 61 24 34|00 00 00 00| .....idata$4....
004020CC  24 21 00 00|4C 00 00 00|2E 69 64 61|74 61 24 36| $!..L....idata$6
004020DC  00 00 00 00|00 30 00 00|08 00 00 00|2E 62 73 73| .....0......bss
004020EC  00 00 00 00|                                     ....

Його можливо вимкнути цивілізованим способом?)

59

(198 відповідей, залишених у Системне програмування)

флейм

Перл з cyberforum)) "Ніколи не здавайся і ти побачиш, як здаються інші".

http://i71.сайт-злодій/big/2015/0829/09/3f3de32ece29972eff736b05ef47df09.png

60

(198 відповідей, залишених у Системне програмування)

Вірним шляхом крокує Томаш.
Тільки не вистачає найпримітивнішого I/O для повноцінного щастя. Раз він робить ставку на макроси у ядрі і тільки, було б дуже доречно.