background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

İndir "Puntero this explicado: impleméntalo en C y ensamblador, conoce sus orígenes y domina los detalles"

input logo icon
Ses kapak resmi
Biraz bekleyin, reklamsız kolay video izleme ve indirme için bağlantılar hazırlıyoruz.
console placeholder icon
İçindekiler tablosu
|

İçindekiler tablosu

0:00
Presentación y videojuego 1D (demo) para programar en C, C++ y ensamblador
5:12
Ejemplo básico C y C+:+ abrir ventana Raylib. Programar, compilar y linkar
17:52
Programar en ensamblador: secciones, funciones externas, parámetros, ELF, ABI, registros x86_64
51:25
Ensamblar con YASM y linkar con GCC: relocation, PIE, entender y corregir errores
1:01:05
Gestión del Stack (Pila) en ensamblador: alignment (alineación) a 16 bytes. Depurando con CGDB
1:20:30
¿Por qué se desalinea la pila? main, _start y call
1:34:04
Ensamblador enlazado con ld: _start, syscall, dynamic linker, librerías dinámicas
1:51:12
Llamadas a librerías dinámicas: PLT, GOT, ASLR, wrt
1:57:17
Programando Enemy Kicker (videojuego 1D) en C
2:15:52
Puntero this: implementarloen C, entender punteros, parámetros y operadores
2:53:10
Entiende los métodos const en C++ con la implementación en C
3:04:15
Viendo this en ensamblador traduciendo C++ con godbolt.org
3:13:50
De C a Ensamblador: Enemy Kicker, bucles, structs y punteros
Video etiketleri
|

Video etiketleri

Programación
Programming
CPP
Assembler
Ensamblador
C language
C++
Programación C++
Coding
Raylib
this
punteros
GameDev
IndieDev
UAGames
Desarrollo de Videojuegos
Game Development
Videojuegos
Clase
Universidad de Alicante
cpp
c
asm
coding
programming
gamedev
Zaten UDL var Yardımcı yüklendi video dosyasını 1 tıklamayla indirebilirsiniz!
Yüklendi
için
Google Chrome

Açıklama:

¿Qué es exactamente el puntero this? ¿Por qué existe y para qué se usa? ¿Cómo entenderlo correctamente? En esta sesión de clase en directo desmenuzaremos el puntero this desde ensamblador hasta C++, pasando por C. Entenderemos qué es, de dónde viene, por qué se usa y cómo funciona. Aprenderemos también a visualizarlo y que deje de ser magia oculta a nuestros ojos en C++. Para entenderlo, implementaremos nuestro propio puntero this en ensamblador y C y después lo veremos en C++ Por el camino aprenderemos a programar un pequeño minijuego en 1D en ensamblador, C y C++ usando Raylib. Utilizaremos este ejemplo para entender y repasar muchas cosas de cómo los ejecutables ELF en Linux, las distintas secciones de un ejecutable, cómo se cargan en memoria y cómo verlas usando objdump y readelf. También veremos cómo utilizar el depurador CGDB para depurar y ver la memoria y entender mejor lo que sucede por dentro. Aprenderemos cómo funcionan las llamadas a código en librerías dinámicas, detalles sobre las PLT (Procedure Lookup Tables) y el mecanismo de seguridad ASLR (Address Space Layout Randomization) y su implicación a la hora de generar ejecutables independientes de la posición o PIE (Position Independent Executable) Muchos detalles interesantes para explorar en una sola sesión de clase muy intensa. Para terminar, dejaremos algunas ideas de ejercicios para practicar y entender mucho mejor todos estos conceptos 0:00:00 Presentación y videojuego 1D (demo) para programar en C, C++ y ensamblador 0:05:12 Ejemplo básico C y C+:+ abrir ventana Raylib. Programar, compilar y linkar 0:17:52 Programar en ensamblador: secciones, funciones externas, parámetros, ELF, ABI, registros x86_64 0:51:25 Ensamblar con YASM y linkar con GCC: relocation, PIE, entender y corregir errores 1:01:05 Gestión del Stack (Pila) en ensamblador: alignment (alineación) a 16 bytes. Depurando con CGDB 1:20:30 ¿Por qué se desalinea la pila? main, _start y call 1:34:04 Ensamblador enlazado con ld: _start, syscall, dynamic linker, librerías dinámicas 1:51:12 Llamadas a librerías dinámicas: PLT, GOT, ASLR, wrt 1:57:17 Programando Enemy Kicker (videojuego 1D) en C++ 2:15:52 Puntero this: implementarloen C, entender punteros, parámetros y operadores 2:53:10 Entiende los métodos const en C++ con la implementación en C 3:04:15 Viendo this en ensamblador traduciendo C++ con godbolt.org 3:13:50 De C a Ensamblador: Enemy Kicker, bucles, structs y punteros === Clase de la asignatura Videojuegos 2.Curso 2023/24.Sesión 8 Grado en Ingeniería Multimedia Universidad de Alicante ===Materiales y Sistema *Máquina Virtual https://archive.org/details/CPCtelera1.5-VM *VirtualBox https://www.virtualbox.org/wiki/Downloads *Raylib https://www.raylib.com/ -Linux Manjaro 6.6.19 x86_64,GCC 13.2.1,Clang 16.0.6 ===Referencias *NASM Tutorial https://cs.lmu.edu/~ray/notes/nasmtutorial/ *System V AMD ABI **Official Docs https://cs61.seas.harvard.edu/site/pdf/x86-64-abi-20210928.pdf **Summary https://wiki.osdev.org/System_V_ABI *DT_TEXTREL warning https://stackoverflow.com/questions/76651605/understanding-a-dt-textrel-warning *Linux System Call Table https://www.chromium.org/chromium-os/developer-library/reference/linux-constants/syscalls/ *Handling System Calls-The Linux Kernel https://linux-kernel-labs.github.io/refs/heads/master/lectures/syscalls.html#lecture-objectives *The Definitive Guide to Linux System Calls https://blog.packagecloud.io/the-definitive-guide-to-linux-system-calls/ *What is PLT https://stackoverflow.com/questions/5469274/what-does-plt-mean-here *What is PLT/GOT? https://reverseengineering.stackexchange.com/questions/1992/what-is-plt-got * PLT and GOT-key to dynamic libraries https://www.technovelty.org/linux/plt-and-got-the-key-to-code-sharing-and-dynamic-libraries.html *Problems with PIE and no-PIE https://stackoverflow.com/questions/65912204/how-to-compile-nasm-program-calling-printf *Can't call C library function on 64-bit Linux from assembly https://stackoverflow.com/questions/52126328/cant-call-c-standard-library-function-on-64-bit-linux-from-assembly-yasm-code *GDB Cheat Sheet **BASIC https://gabriellesc.github.io/teaching/resources/GDB-cheat-sheet.pdf **Intermediate https://darkdust.net/files/GDB%20Cheat%20Sheet.pdf *Intel x86_64 **Reference Manual https://software.intel.com/en-us/download/intel-64-and-ia-32-architectures-sdm-combined-volumes-1-2a-2b-2c-2d-3a-3b-3c-3d-and-4 **Instruction Reference-Felix Cloutier https://www.felixcloutier.com/x86/ === Créditos y Licencias -Recortes de imagen con RibbetAI https://ribbet.ai/ -Imagen de Fondo Assembler, C y C++ generada con Dall-E 3 https://openai.com/dall-e-3 -Music by McKlain https://open.spotify.com/intl-es/artist/3oSxrSt7qOJw3GT4tobt4L -Galactic Tomb-Level 1-Pherenos https://soundcloud.com/mcklain/galactic-tomb-level-1-pherenos -La Guerra de Gamber [Menu Theme] https://mcklain.bandcamp.com/track/la-guerra-de-gamber-menu-theme

İndirme seçeneklerini hazırlama

popular icon
Popüler
hd icon
HD video
audio icon
Sadece ses
total icon
Tüm formatlar
* - Video yeni bir sekmede oynatılıyorsa, videoya gidin, ardından videoya sağ tıklayın ve "Videoyu farklı kaydet..." seçeneğini seçin
** - Özel oynatıcılarda çevrimiçi oynatmaya yönelik bağlantı

Video indirme hakkında sorular

mobile menu iconNasıl "Puntero this explicado: impleméntalo en C y ensamblador, conoce sus orígenes y domina los detalles" video indirebilirim?mobile menu icon

  • http://unidownloader.com/ web sitesi, program ve uzantı yüklemeden yapmak istiyorsanız, bir videoyu veya ayrı bir ses parçasını indirmenin en iyi yoludur.

  • UDL Helper uzantısı, hızlı içerik indirme için YouTube, Instagram ve OK.ru sitelerine sorunsuz bir şekilde entegre edilen kullanışlı bir düğmedir.

  • UDL Client programı (Windows için), 900'den fazla web sitesini, sosyal ağları ve video barındırma sitelerini ve ayrıca kaynakta bulunan herhangi bir video kalitesini destekleyen en güçlü çözümdür.

  • UDL Lite, mobil cihazınızdan bir web sitesine erişmenin gerçekten kullanışlı bir yoludur. Yardımı ile videoları doğrudan akıllı telefonunuza kolayca indirebilirsiniz.

mobile menu iconHangi "Puntero this explicado: impleméntalo en C y ensamblador, conoce sus orígenes y domina los detalles" video formatını seçmeliyim?mobile menu icon

  • En iyi kalite formatları FullHD (1080p), 2K (1440p), 4K (2160p) ve 8K'dır (4320p). Ekranınızın çözünürlüğü ne kadar yüksekse video kalitesi de o kadar yüksek olmalıdır. Bununla birlikte, göz önünde bulundurulması gereken başka faktörler de vardır: indirme hızı, boş alan miktarı ve oynatma sırasında cihaz performansı.

mobile menu iconBir "Puntero this explicado: impleméntalo en C y ensamblador, conoce sus orígenes y domina los detalles" video yüklerken bilgisayarım neden donuyor?mobile menu icon

  • Tarayıcı/bilgisayar tamamen donmamalıdır! Böyle bir durumda lütfen videonun bağlantısını ekleyerek bildirin. Bazen videolar doğrudan uygun bir formatta indirilemez, bu nedenle dosyayı istenen formata dönüştürme özelliğini ekledik. Bazı durumlarda, bu işlem bilgisayar kaynaklarını aktif olarak kullanabilir.

mobile menu iconTelefonuma "Puntero this explicado: impleméntalo en C y ensamblador, conoce sus orígenes y domina los detalles" videosunu nasıl indirebilirim?mobile menu icon

  • Web sitesini veya PWA uygulaması UDL Lite'ı kullanarak bir videoyu akıllı telefonunuza indirebilirsiniz. UDL Helper uzantısını kullanarak QR kodu aracılığıyla bir indirme bağlantısı göndermek de mümkündür.

mobile menu iconBir ses parçasını (müzik) MP3'e "Puntero this explicado: impleméntalo en C y ensamblador, conoce sus orígenes y domina los detalles" nasıl indirebilirim?mobile menu icon

  • En uygun yol, videoyu MP3 formatına dönüştürmeyi destekleyen UDL Client programını kullanmaktır. Bazı durumlarda MP3, UDL Helper uzantısı aracılığıyla da indirilebilir.

mobile menu iconBir videodan bir kareyi nasıl kaydedebilirim "Puntero this explicado: impleméntalo en C y ensamblador, conoce sus orígenes y domina los detalles"?mobile menu icon

  • Bu özellik UDL Helper uzantısında mevcuttur. Ayarlarda "Video anlık görüntüsü düğmesini göster" seçeneğinin işaretli olduğundan emin olun. Oynatıcının sağ alt köşesinde "Ayarlar" simgesinin solunda bir kamera simgesi görünmelidir. Üzerine tıkladığınızda, videodaki mevcut kare JPEG formatında bilgisayarınıza kaydedilecektir.

mobile menu iconTüm bu şeylerin fiyatı nedir?mobile menu icon

  • Hiçbir maliyeti yok. Hizmetlerimiz tüm kullanıcılar için tamamen ücretsizdir. PRO abonelikleri yoktur, indirilen videoların sayısı veya maksimum uzunluğu konusunda herhangi bir kısıtlama yoktur.