Skip to content

Getting started with Visual Studio 2022 for UEFI Shell and ANSI C / Standard C cross-development

Notifications You must be signed in to change notification settings

KilianKegel/Visual-ANSI-C-for-UEFI-Shell

Repository files navigation

Visual ANSI C for UEFI Shell

visualUefi Getting started with Visual Studio 2022 for UEFI Shell and ANSI C cross-development.

C

Projects/sample programs

Project Description
ARGCV argument count, argument vector, command line arguments
WARGCV argument count, argument vector, command line arguments with wmain()
WELCOME simple Hello, world
WELCOME1 simple Hello, world using puts()
WELCOME2 simple Hello, world using fprintf() to STDERR and STDOUT each
WELCOME3 simple Hello, world using fputs() to STDERR and STDOUT each
WELCOME4 simple Hello, world using fwrite() to STDERR and STDOUT each
WELCOME5 simple Hello, world using putc() to STDERR and STDOUT each
WELCOME6 simple Hello, world using fputc() to STDERR and STDOUT each
WELCOME7 simple Hello, world using all possible functions to STDOUT only
WELCOME8 simple Hello, world for KARAOKE purpose
WELCOME9 demonstration of CTRL-Cand how to catch it in an ANSI/STANDARD C program
WELCOME10 demonstration global Classes in C++
WELCOME11 simple Hello, world using UEFI API SystemTable->ConOut->OutputString(SystemTable->ConOut
WELCOME12 demonstration of accuracy of TSC based 'TIMR.H' functions
WELCOME13 demonstration of John McNamara's libxlsxwriter
WELCOME14 demonstration of C++ text UI/UX design for UEFI Shell https://www.youtube.com/watch?v=gMwCKA6SQrk

Binaries

EFI Binaries
NT64/Torito Binaries
NT64/MSFT Binaries

HowTo

https://github.com/KilianKegel/HowTo-setup-an-UEFI-Development-PC#howto-setup-an-uefi-development-pc

Revision history

https://github.com/KilianKegel/torito-C-Library#revision-history

20231119

  • update to TORO C Library 20231118
    • add ACPI timer based synchronization

20231014

  • update to TORO C Library 20231014
  • improve welcome13 sample to demonstrate EXCEL 2016 bugfix

20230909

  • update to TORO C Library 20230909

20230410

  • update to TORO C Library 20230409

20230305

  • update to TORO C Library 20230304

20230212

  • update to TORO C Library 20230212

20230104

  • update to TORO C Library 20230104

20221024

  • update to TORO C Library 20221022

20220924

20220607

20220507

  • add support and demo for John McNamara's Microsoft Excel writer library libxlsxwriter

20220501

  • update to TORO C Library 20220501

20211107

  • add wmain() support
    ATTENTION: The presence of main() is not detected at build time anymore, but at runtime.

20211101

  • update to TORO C Library 20211031

20211017

  • update to toroC64.lib with _cdeCRT0WinNT() CRT0 for Windows

20210825

  • Update to Microsoft Visual Studio Community 2022 Preview (64-bit), Version 17.0.0 Preview 3.1

20210820/R166

  • Update to torito-C 20210820/R166

20210815/R165

  • Update to torito-C 20210815/R165
  • improve welcome12 for time / drift measurement
  • minor improvements

20210808/R164

  • Update to torito-C 20210808/R164

20200416/R159

20200208

20200204/R154

  • Update to torito-C 20200204/R154
  • adjust solution configurations
  • update copyright

20191216/R152

20191210

  • update to VS2019 Version 16.4.0 (Spectre Support)
  • intern: change configuration naming
    • UEFIx86-64 (Torito C Library)
    • WinNTx86-64 (Torito C Library)
    • WinNTx86-64 (Microsoft C Library)

20191126/R149

  • Update to torito-C 20191126/R149

20191111/R146

  • Update to torito-C 20181111/R146
  • add missing intrinsic functions _difftime64() and _gmtime64() required by Microsoft Compiler
  • fixed mktime() to crash with invalid time/date before 01/01/1970 00:00:00

20191017/R141

  • add CTRL-C support
    NOTE: CTRL-C is implemented on Signal handling <signal.h> interface and can be catched and supressed by the application. https://github.com/KilianKegel/Visual-ANSI-C-for-UEFI-Shell/blob/master/welcome9/welcome9.c
  • fixed system() library function does not workaround completely the EfiShellProtocol->Execute() bug to display the drive mappings, when multipartition ("BLK10") mass storage device is attached
  • implement UEFI Shell compatibility mode for STDOUT and STDERR to allow I/O redirection >a for ASCII and > for UCS-2/UTF16
  • add build switch char _gSTDOUTMode; /* 0 == UEFI Shell default, 1 == ASCII only */ to force TORITO C backward compatibility ( ASCII mode only )

20190922/R138

  • Update to torito-C 20190621/R138 that autodetects I/O redirection UTF16 vs. ASCII
  • add support for VS2019 ver 16.2.5

20190918/R137

  • update to VS2019 Version 16.2.5 (Spectre Support)

20190621/R133

  • Update to torito - C 20190621 / R133 that adds VS2019 support, remove library dependancy from compiler version

20190410/R126

  • Update to torito - C 20190410 / R126 that provides various improvements

20190109/R123

  • Update to torito-C 20190108/R123 that provides various improvements

20181216/R119

  • Update to torito-C 20181216/R119 that provides various improvements
  • add "WinNTx86-64 (Microsoft C Library)" solution configuration. Previously only "UEFIx86-64 (Torito C Library)" and "WinNTx86-64 (Torito C Library)" For varification projects can be linked against the original Microsoft C library and the Torito C Library
  • Update WindowsTargetPlatformVersion to 10.0.17134.0 from 10.0.16299.0

20181129/R116

  • Update to torito-C 20181129/R116 that provides various improvements

20181112/R110

  • Update to torito-C 20181112/R110 that provides scanf-family improvements

20180921/R107

  • Update to torito-C 20180920/R106 that provides VS2017/15.8 support
  • cleanup project settings, remove default C library from solution/project view

20180830/R102

  • Update to torito-C 20180830/R102

20180817

  • add UDK2018 MdePkg includes to enable acces to UEFI API
  • fixed structure alignment to default / 8 byte alignment

20180717/R101

  • Update to torito-C 20180717/R101

2018041/R95

  • Update to torito-C 20180411/R95

20180130/R86

  • Update to torito-C 20180130/R86

20180108/R85

  • Update to torito-C 20180108/R85

20171105/R78

  • initial revision

About

Getting started with Visual Studio 2022 for UEFI Shell and ANSI C / Standard C cross-development

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published