Archive for the ‘C++’ Category
Posted by jpluimers on 2018/12/28
Almost all pages at the Embarcadero DocWiki have an embedded product version in the URL or get redirected to one.
One of the notable exceptions is the [WayBack] Platform Status:
The following table shows supported platforms and operating systems for different RAD Studio versions.
A * (star) sign next to an operating system indicates that there is a known issue with that operating system and a corresponding RAD Studio version.
To see the workaround for that particular issue, click on the name of the operating system or scroll down to the appropriate section.
It got introduced in 2015 ([WayBack] New DocWiki RAD Studio, Delphi and C++Builder Platform Status Page – Community Blogs – Embarcadero Community) and is maintained at irregular intervals.
For some history: https://web.archive.org/web/*/http://docwiki.embarcadero.com/PlatformStatus/en/Main_Page
–jeroen
via: [WayBack] Summary page showing supported platforms and OS versions for XE4 and upwards, as well as links to known issues for specific versions… – Lars Fosdal – Google+
Posted in C++, C++ Builder, Delphi, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2018/12/04
Uh-oh: [WayBack] Unicode in Microsoft Windows: UTF-8 – Wikipedia:
Microsoft Windows has a code page designated for UTF-8, code page 65001. Prior to Windows 10 insider build 17035 (November 2017),[7] it was impossible to set the locale code page to 65001, leaving this code page only available for:
- Explicit conversion functions such as MultiByteToWideChar
- The Win32 console command
chcp 65001 to translate stdin/out between UTF-8 and UTF-16.
This means that “narrow” functions, in particular fopen, cannot be called with UTF-8 strings, and in fact there is no way to open all possible files using fopen no matter what the locale is set to and/or what bytes are put in the string, as none of the available locales can produce all possible UTF-16 characters.
On all modern non-Windows platforms, the string passed to fopen is effectively UTF-8. This produces an incompatibility between other platforms and Windows. The normal work-around is to add Windows-specific code to convert UTF-8 to UTF-16 using MultiByteToWideChar and call the “wide” function.[8] Conversion is also needed even for Windows-specific api such as SetWindowText since many applications inherently have to use UTF-8 due to its use in file formats, internet protocols, and its ability to interoperate with raw arrays of bytes.
There were proposals to add new API to portable libraries such as Boost to do the necessary conversion, by adding new functions for opening and renaming files. These functions would pass filenames through unchanged on Unix, but translate them to UTF-16 on Windows.[9] This would allow code to be “portable”, but required just as many code changes as calling the wide functions.
With insider build 17035 and the April 2018 update (nominal build 17134) for Windows 10, a “Beta: Use Unicode UTF-8 for worldwide language support” checkbox appeared for setting the locale code page to UTF-8.[a] This allows for calling “narrow” functions, including fopen and SetWindowTextA, with UTF-8 strings. Microsoft claims this option might break some functions (a possible example is _mbsrev[10]) as they were written to assume multibyte encodings used no more than 2 bytes per character, thus until now code pages with more bytes such as GB 18030 (cp54936) and UTF-8 could not be set as the locale.[11]
- Jump up^ [WayBack] “UTF-8 in Windows”. Stack Overflow. Retrieved July 1, 2011.
- Jump up^ [WayBack] “Boost.Nowide”.
- Jump up^ [WayBack] https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/strrev-wcsrev-mbsrev-mbsrev-l
- Jump up^ [WayBack] “Code Page Identifiers (Windows)”. msdn.microsoft.com.
Via [WayBack] Microsoft Windows Beta UTF-8 support for Ansi API could break things. Wiki Article of the Change… – Tommi Prami – Google+
Related, as handling encoding is hard, especially if it is changed or not your default:
–jeroen
Posted in .NET, C, C++, Delphi, Development, Encoding, GB 18030, Power User, Software Development, UTF-16, UTF-32, UTF-8, UTF16, UTF32, UTF8, Windows, Windows 10 | 2 Comments »
Posted by jpluimers on 2018/01/17
Link archive so I know how to get the 64-bit ARM, 32-bit Win32/x86 and 64-bit Win64/x64 downloads for the Visual C++ Redistributable files.
Note the various names of pages and files Microsoft uses.
- Visual Studio 2015
- Microsoft Visual C++ 2015 Redistributable Update 3
- Visual C++ Redistributable for Visual Studio 2015
- Visual Studio 2013
- Update for Visual C++ 2013 and Visual C++ Redistributable Package
- Visual C++ Redistributable Packages for Visual Studio 2013
- Visual Studio 2012
- Visual C++ Redistributable for Visual Studio 2012 Update 4
- 11.0.61030.0
- [WayBack] https://www.microsoft.com/en-us/download/details.aspx?id=30679
- [WayBack] https://www.microsoft.com/en-us/download/confirmation.aspx?id=30679
- [WayBack] https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU4/vcredist_arm.exe
- [WayBack] https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe
- [WayBack] https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe
- ??? Microsoft Visual C++ Redistributable 2012
- Visual Studio 2010
- Microsoft Visual C++ 2010 Service Pack 1 Redistributable Package MFC Security Update
- 10.0.40219.325
- [WayBack] https://www.microsoft.com/en-us/download/details.aspx?id=26999
- [WayBack] https://www.microsoft.com/en-us/download/confirmation.aspx?id=26999
- [WayBack] https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_ia64.exe
- [WayBack] https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x64.exe
- [WayBack] https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x86.exe
- Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)
- 10.0.40219.1
- [WayBack] https://www.microsoft.com/en-us/download/details.aspx?id=13523
- [WayBack] https://www.microsoft.com/en-us/download/confirmation.aspx?id=13523
- [WayBack] https://download.microsoft.com/download/A/8/0/A80747C3-41BD-45DF-B505-E9710D2744E0/vcredist_x64.exe
- Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)
- 10.0.40219.1
- [WayBack] https://www.microsoft.com/en-us/download/details.aspx?id=8328
- [WayBack] https://www.microsoft.com/en-us/download/confirmation.aspx?id=8328
- [WayBack] https://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe
- Microsoft Visual C++ 2010 Redistributable Package (x86)
- Microsoft Visual C++ 2010 Redistributable Package (x64)
- Visual Studio 2008
- Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package MFC Security Update
- 9.0.30729.5677
- [WayBack] https://www.microsoft.com/en-us/download/details.aspx?id=26368
- [WayBack] https://www.microsoft.com/en-us/download/confirmation.aspx?id=26368
- [WayBack] https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_IA64.exe
- [WayBack] https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x64.exe
- [WayBack] https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe
- Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)
- Microsoft Visual C++ 2008 Redistributable Package (x86)
- 9.0.21022.8
- [WayBack] https://www.microsoft.com/en-us/download/details.aspx?id=29
- [WayBack] https://www.microsoft.com/en-us/download/confirmation.aspx?id=29
- [WayBack] https://download.microsoft.com/download/1/1/1/1116b75a-9ec3-481a-a3c8-1777b5381140/vcredist_x86.exe
- Microsoft Visual C++ 2008 Redistributable Package (x64)
- Visual Studio 2005
- 6.0.2900.2180 – Microsoft Visual C++ 2005 Redistributable Package (x86)
- [WayBack] https://www.microsoft.com/en-us/download/details.aspx?id=3387
- [WayBack] https://www.microsoft.com/en-us/download/confirmation.aspx?id=3387
- [WayBack] https://download.microsoft.com/download/d/3/4/d342efa6-3266-4157-a2ec-5174867be706/vcredist_x86.exe
- 6.0.2900.2180 – Microsoft Visual C++ 2005 Redistributable Package (x64)
- [WayBack] https://www.microsoft.com/en-US/Download/details.aspx?id=21254
- [WayBack] https://www.microsoft.com/en-US/Download/confirmation.aspx?id=21254
- [WayBack] https://download.microsoft.com/download/9/1/4/914851c6-9141-443b-bdb4-8bad3a57bea9/vcredist_x64.exe
–jeroen
Posted in C++, Development, Software Development, Visual Studio C++ | Leave a Comment »
Posted by jpluimers on 2018/01/01
It is a lot (~300 megabyte compressed download!), but worth it.
Here are the links:
And the quote from [WayBack] LAUNCHED https://uberpdf.org/ … – Joe C. Hecht – Google+
LAUNCHED https://uberpdf.org/
…
337 MB of source and utils in 2,308 Files, 910 Folders before you build (not counting 3rd party source UberBuild downloads).
It’s a start, with much to come.It will get easier now that UberBuild is clean.
I will be updating the docs and website in the next few days.
Special thanks …
I already see room for improvement (such as a setup screen for extra compilers such as Delphi and Free Pascal to keep folks out of shell scripts and from hunting for help in the documentation).
…
–jeroen
Posted in *nix, C, C++, Delphi, Development, Linux, Power User, Software Development, Windows | 3 Comments »
Posted by jpluimers on 2017/12/07
Ah, C. The best lingua franca we have… because we have no other lingua francas. Linguae franca. Surgeons general? C is fairly old — 44 years, now! — and comes from a time when there were possibly more architectures than programming languages. It works well for what it is, and what it is is a relatively simple layer of indirection atop assembly. Alas, the popularity of C has led to a number of programming languages’ taking significant cues from its design, and parts of its design are… slightly questionable. I’ve gone through some common features that probably should’ve stayed in C and my justification for saying so. The features are listed in rough order from (I hope) least to most controversial. The idea is that C fans will give up when I call it “weakly typed” and not even get to the part where I rag on braces. Wait, crap, I gave it away.
Great re-read towards the end of the year: [WayBack] Let’s stop copying C / fuzzy notepad
Via: [WayBack] Old and busted: emacs vs vi. New and hot: Language war, everybody against everybody else. – Kristian Köhntopp – Google+
–jeroen
Posted in .NET, APL, Awk, bash, BASIC, C, C#, C++, COBOL, CoffeeScript, CommandLine, D, Delphi, Development, F#, Fortran, Go (golang), Java, Java Platform, JavaScript/ECMAScript, Pascal, Perl, PHP, PowerShell, PowerShell, Python, Ruby, Scala, Scripting, Software Development, TypeScript, VB.NET, VBScript | 3 Comments »
Posted by jpluimers on 2017/11/03
Via [WayBack] Graph of programming languages influence poster – nice gift idea for programmers… – This is why I Code – Google+:
A network graph with more than a thousand programming languages connected by influence relations. Highly influential languages like Lisp, Smalltalk, C, Java, Pascal, C++, Haskel or Python are shown as larger circles as compared to languages with little influence on others like PHP or Argh!. / The influence relation data was retrieved from Freebase in 2013. This design available on posters and other products. An awesome gift for programmers who are into digital art. • Also buy this artwork on wall prints, apparel, kids clothes, and more.
[WayBack] “Network Graph of Programming Language Influence – White Background” Posters by ramiro | Redbubble
I wonder how they drew the relations and why certain languages are in certain places.
--jeroen
Read the rest of this entry »
Posted in C, C++, COBOL, Development, Haskell, Java, Java Platform, JavaScript/ECMAScript, LISP, Pascal, Perl, PHP, Python, Ruby, Scripting, Smalltalk, Software Development, Turbo Prolog | Leave a Comment »
Posted by jpluimers on 2017/11/02
Quoted in full because even 2.5 years later, it’s just too funny:
- Python: What if everything was a dict?
- Java: What if everything was an object?
- JavaScript: What if everything was a dict *and* an object?
- C: What if everything was a pointer?
- APL: What if everything was an array?
- Tcl: What if everything was a string?
- Prolog: What if everything was a term?
- LISP: What if everything was a pair?
- Scheme: What if everything was a function?
- Haskell: What if everything was a monad?
- Assembly: What if everything was a register?
- Coq: What if everything was a type/proposition?
- COBOL: WHAT IF EVERYTHING WAS UPPERCASE?
- C#: What if everything was like Java, but different?
- Ruby: What if everything was monkey patched?
- Pascal: BEGIN What if everything was structured? END
- C++: What if we added everything to the language?
- C++11: What if we forgot to stop adding stuff?
- Rust: What if garbage collection didn’t exist?
- Go: What if we tried designing C a second time?
- Perl: What if shell, sed, and awk were one language?
- Perl6: What if we took the joke too far?
- PHP: What if we wanted to make SQL injection easier?
- VB: What if we wanted to allow anyone to program?
- VB.NET: What if we wanted to stop them again?
- Forth: What if everything was a stack?
- ColorForth: What if the stack was green?
- PostScript: What if everything was printed at 600dpi?
- XSLT: What if everything was an XML element?
- Make: What if everything was a dependency?
- m4: What if everything was incomprehensibly quoted?
- Scala: What if Haskell ran on the JVM?
- Clojure: What if LISP ran on the JVM?
- Lua: What if game developers got tired of C++?
- Mathematica: What if Stephen Wolfram invented everything?
- Malbolge: What if there is no god?
–jeroen
Read the rest of this entry »
Posted in .NET, APL, Assembly Language, BASIC, C, C#, C++, COBOL, Development, EPS/PostScript, Fun, Go (golang), Java, Java Platform, JavaScript/ECMAScript, LISP, Makefile, Pascal, Perl, PHP, Python, Quotes, Ruby, Rust, Scala, Scripting, Smalltalk, Software Development, T-Shirt quotes, TCL, Turbo Prolog, VB.NET, Visual BASIC, XML/XSD, XSLT | Leave a Comment »