Saturday, December 30, 2017

openGLtips and frameworks

Interface

why do we need interface?

  1. Why use an interface?

Windows Application

when I start to test a demo Win32 application, I ran into several easy problems. take note now for future reference.

step 1: create a new project.
step 2: select Win32 application. do not use Wizards.
step 3: give your project a name, the press OK. then select "emptry Project".
step 4: add your files to project.
step 5: once the project files are created, you need manually select the static MFC class library.
you can set this through project property-> Configuation Properties-> General ->Use of MFC-> user MFC static library.

  1. FAQ: Cannot convert from 'const char [..]' to 'LPCTSTR'
  2. Problem
    This error message means that you are trying to pass a multi-byte string (const char [12]) to a function which expects a unicode string (LPCTSTR). The LPCTSTR type extends to const TCHAR*, where TCHAR is char when you compile for multi-byte and wchar_t for unicode. Since the compiler doesn't accept the char array, we can safely assume that the actual type of TCHAR, in this compilation, is wchar_t.

    Resolution
    You will have to do one of two things:
    1. Change your project configuration to use multibyte strings. Press ALT+F7 to open the properties, and navigate to Configuration Properties > General. Switch Character Set to "Use Multi-Byte Character Set".
    2. Indicate that the string literal, in this case "Hello world!" is of a specific encoding. This can be done through either prefixing it with L, such as L"Hello world!", or surrounding it with the generic _T("Hello world!") macro. The latter will expand to the L prefix if you are compiling for unicode (see #1), and nothing (indicating multi-byte) otherwise.

  3. Cannot convert argument 1 from 'const char [5]' to 'LPCTSTR'
  4. td::wstring VS std::string

Monday, December 25, 2017

stack frame

  1. Lecture 18: Intermediate Code
  2. Lecture 19: Efficient IL Lowering
  3. Stack Frame - Tim Teitelbaum
  4. Lecture 21: Generating Pentium Code
  5. Lecture 22: Implementing Objects
  6. Lecture 23: Introduction to Optimizations
  7. Lecture 24: Control Flow Graphs
  8. Lecture 25: Liveness and Copy Propagation

  9. The Call Stack
  10. The Call Stack
  11. 3. Activation Records

  12. The Call Stack
  13. x86 Assembly, Video 1: Move operations
  14. x86 Assembly, Video 2: x86-64 Assembly
  15. Procedures, Video 3: Stack-based languages
  16. Procedures, Video 4: Linux stack frame
  17. Procedures, Video 5: Registers and variables

  18. Procedures, Video 1: Stacks
  19. Procedures, Video 2: Call stack
  20. Procedures, Video 5: Registers and variables

  21. x86 Assembly Guide
  22. Lecture 12.1: The mechanics of function calls - Richard Buckland UNSW
  23. Lecture 12.2: The mechanics of function calls (part 2) - Richard Buckland UNSW
  24. 21:Everything u need 2 know about pointers -Richard Buckland
  25. 16: Frames (revision) - Richard Buckland (UNSW)
  26. 23: Stack Frames - Richard Buckland UNSW
  27. 21:Everything u need 2 know about pointers -Richard Buckland
  28. 21:Everything u need 2 know about pointers -Richard Buckland
  29. Procedures, Video 2: Call stack
  30. Procedures, Video 1: Stacks
  31. The Call Stack
  32. Call Stack, Scope & Lifetime of Variables
  33. x64 Assembly and C++ Tutorial 28: Stack Frames
  34. Writing a Function in Assembly: Intel x86 Att Assembly Stack Part 1
  35. Writing a Function in Assembly: Intel Att Assembly Stack Part 2
  36. GCC Calling Conventions: Intel Assembly Att Stack
  37. Stack and local variables: Intel Assembly Att
  38. Prologue: Intel x86 Assembly Att Stack
  39. x86 Assembly: Simple stack operation
  40. Top 20 ASM Instructions Every Programmer Should Know
  41. Using the Stack in Assembly Language
  42. x86 Assembly Crash Course
  43. Intro to x86 Assembly Language (Part 1)
  44. Intro to x86 Assembly Language (Part 2)
  45. x86 assembly language
  46. Intro to x86 Assembly Language (Part 3)
  47. 80x86 instruction set
  48. X86 Opcode and Instruction Reference Home
  49. x86 assembly language- wiki
  50. Call stack
  51. Build a Raspberry Pi 3 Cluster
  52. Bramble 4 or 6 Stack Case for Raspberry Pi 3 & Pi Drive~ Made by C4Labs
  53. Tiny Raspberry Pi 'Server Rack' / Cluster Case (4 slots) - V2
  54. HIGOLE F1 5 inch 720 x 1280 Mini PC Windows 10 / Android 5.1 - 4GB+64GB US PLUG
  55. GPD Pocket Mini Laptop UMPC - SILVER 2