Próbuję napisać kod IC18 na platformę i18n. Ponieważ większość systemów linuksowych woli używać UTF-8 jako kodowania znaków, pomyślałem, że powinienem używać napisu na linuksie i ciągnąć w systemie Windows. Czy tchar.h jest dostępny na Linuksie? Co to jest zastępczy zamiennik dla tchar.h w systemie Linux?tchar.h na Linuksie
Odpowiedz
Może Ci się przydać artykuł this. W szczególności pod koniec omawiają trochę o korzystaniu z TCHAR i radzeniu sobie z kodem Windows.
Artykuł podsumowania brzmi:
TCHAR będą tłumaczone na szeroki charakter typu danych podczas kompilowania tego kodu z GNU C Compiler (większość przenośnych bibliotek zdefiniować TCHAR w swoich nagłówkach i odnoszą się do wchar_t). W istocie w ten sposób zmieniłem program C++ w generator anagramów: użyłem standardowych ciągów C++ wypełnionych UTF-8 i zasiliłem dane wskaźnikami rzucanymi do wchar_t do funkcji bibliotecznych. Dane UTF-8 interpretowane jako UTF-32 to śmieci (ale jest to niezwykle przydatne do zaciemniania danych i błędów).
To nie jest takie proste. string.size() da ci liczbę bajtów UTF-8, a nie znaki Unicode. Z całą słusznością, wstring.size() nie poda liczby znaków ani w obecności surogatów. Ale w praktyce te nie są używane w popularnych aplikacjach.
Tak więc prawdziwa odpowiedź naprawdę zależy od tego, dlaczego potrzebujesz ciągów Unicode. Czy to tylko lokalizacja interfejsu użytkownika? Czy masz dane wejściowe od użytkownika? Czy musisz przeanalizować to wejście?
Aby zbudować moje centryczne źródło Windowsa, mogłem użyć pliku tchar.h z pliku Cygwin znalezionego w folderze cygwin \ usr \ include \ w32api.
W rzeczywistości buduję przy użyciu Android NDK. Dla moich celów zrobiłem kopię tchar.h i załatałem to.
//#include <crtdefs.h>
#define _CRTIMP
//#define _strninc(_pc,_sz) (((_pc)+(_sz)))
// _CRTIMP size_t __cdecl __strncnt(const char *_Str,size_t _Cnt);
- 1. Programowanie Flash na Linuksie
- 2. pgmagick zainstalować na Linuksie
- 3. Zainstaluj rabbitmqadmin na Linuksie
- 4. Kompilacja OpenCL na Linuksie
- 5. Eliksir Laravel na Linuksie
- 6. Potrzeba włączenia strsafe.h po tchar.h błąd
- 7. Google Chrome na Linuksie FrameBuffer
- 8. Hosting usługi WCF na Linuksie
- 9. kasowanie wyjścia terminalowego na Linuksie
- 10. Programowanie w Swift na Linuksie
- 11. Równoważnik SetThreadPriority na Linuksie (pthreads)
- 12. IDE dla Objective-C na Linuksie
- 13. Systemowy muteks w Pythonie na Linuksie
- 14. Czy można skompilować VST na Linuksie?
- 15. Atomowe zapisywanie do pliku na Linuksie
- 16. Zainstaluj gcc na Linuksie bez uprawnień administratora
- 17. Animowane gify do avi na Linuksie
- 18. Zastosowanie Bundle-NativeCode na Linuksie nie działa
- 19. Pilot zdalnego sterowania Chrome na Linuksie?
- 20. Python mmap 'Odmowa uprawnień' na Linuksie
- 21. Readonly plików oprogramowanie odniesienia na Linuksie
- 22. Java używa 100% procesora na Linuksie
- 23. otwórz O_CREAT | O_EXCL na NFS w Linuksie?
- 24. Zapisywanie do wykonania obrazu procesu na Linuksie
- 25. Czytanie/pisanie z użyciem I2C na Linuksie
- 26. testowanie wolnego miejsca na dysku w Linuksie
- 27. Problem z skalowalnością serwera C# na Linuksie
- 28. Instalacja nodejs i npm na Linuksie
- 29. Programowanie gier na Objective-C i Linuksie
- 30. Wysoka iowait z procesami java na Linuksie
Aby było jasne, tchar.h ma tylko system Windows. Ale dość banalne jest toczenie własnego tchar.h. – Naaff