Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).
Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.
Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).
Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.
Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.
Workshop o umělé inteligenci v Dartmouthu proběhl před 70 lety, od 18. června do 17. srpna 1956. Dvouměsíční soustředění 6–11 informatiků, iniciované Johnem McCarthym, položilo základy oboru umělé inteligence.
Po 9 týdnech vývoje od vydání Linuxu 7.1 oznámil Linus Torvalds vydání Linuxu 7.2. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.
Debian dnes slaví 33 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.
Probíhá hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu mají na výběr 9 možností (návrhy A až H a žádný z nich).
Tato varianta je pro x86-64, protože inline assemblerDá se to napsat i tak, že to podporuje více platforem zaráz. Před nějakou dobou jsem si s tím hrál a zde je výsledek, který podporuje x86-64 a ARM (nebo aspoň 'běžné' ARMy, nějaký specielní možná fungovat nebude):
#include <stdint.h>
const uint64_t _start[] __attribute__((section(".text"))) = {
0xe3a00001909032eb, 0xe3a0200ce28f1014,
0xef000000e3a07004, 0xe3a07001e3a00000,
0x6c6c6548ef000000, 0x0a214d5241202c6f,
0x18ec834800000000, 0x4800000045058b48,
0xa20fc03148240489, 0x0c24548908245c89,
0x142444c710244c89, 0x01c0c74800000a21,
0x0001c7c748000000, 0x480124748d480000,
0x050f00000015c2c7, 0x480000003cc0c748,
0x6c654820050fff31, 0x00000000202c6f6c,
};
Kompiluje se pomocí gcc -static -nostdlib
Přeji příjemnou zábavu :)
Tato varianta je pro x86-64, protože inline assemblerU prvni verze jsem si rikal, jestli by to nebylo citelnejsi psat rovnou v assembleru... Ale napad vzit binarku a prelozit ji s gcc na binarku je dost originelni, to uznavam. ;-]
Ale napad vzit binarku a prelozit ji s gcc na binarku je dost originelni, to uznavam. ;-]Ten není můj, ten je odsud :) Můj je jen ten s tou platformní vidličkou...
supr stromeček žlutej :P :D ;D ;D
- ale DOS byl taky celkově jednodušší a měl méně schopností.
Koncepční otázka ovšem je, zda po něm chtít, aby se spustil
.text
.code64
.globl _start
_start:
movb $1, %al /* syscall num */
movw $1, %di /* file descriptor */
movq $hello_str, %rsi /* text */
movq $(hello_str_end - hello_str), %rdx /* length */
syscall
movb $60, %al
xorw %di, %di
syscall
.data
hello_str:
.ascii "Hello, World!\n"
hello_str_end:
as -64 hello.S -o hello.o && ld --omagic -s -x -static -T script.ld hello.o(tj. x86_64, ne debugovací symboly, strip a statické) Linker script stejný, jenom místo
.rodata tam je .data.
| Tvoj kód/preklad | 864 B |
| + moje úpravy/preklad | 736 B |
| Ušetrene: | 131 B (14,8 %) |
tttttssss echo má nějakejch 40kb :O ;D
tttttssss echo má nějakejch 40kb :O ;DU mě taky... Ale ten se pravděpodobně nepoužije, typicky se použije
echo zabudovaný přímo v shellu...
kde jakoby vubec končí c a začíná asm :O :O
V čem je problém? Kdybys chtěl programovat tímhle způsobem, tak bys vyzobal/reimplementoval různé části standardní knihovny a řešil by sis přenositelnost sám. Teoreticky kdyby standardní knihovna byla moc velký moloch a potřeboval bys z ní jen nějakých 10 %, tak by to třeba smysl dávalo, ale typicky z ní budeš potřebovat větší část a navíc je tu ta přenositelnost… řešit tyhle věci v kódu aplikace mi přijde nesmyslné. Jako ukázka je to fajn, ale… jinak už by dávalo větší smysl to řešit na úrovni jazyka (tzn. úplně obejít céčko a místo něj mít něco jiného, co se napojuje na systémová volání).
Tiskni
Sdílej: