Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add information on Microsoft's Universal CRT (UCRT) to the TIP #425 explanation. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
83b3a62247b6d34509e2f9fc0981d95b |
User & Date: | jan.nijtmans 2017-10-23 13:20:14 |
Context
2017-10-23
| ||
16:22 | Improving the quality of the metadata. check-in: 947bed9807 user: dkf tags: trunk | |
13:20 | Add information on Microsoft's Universal CRT (UCRT) to the TIP #425 explanation. check-in: 83b3a62247 user: jan.nijtmans tags: trunk | |
06:51 | Add classes to each row of table to work towards enabling user filtering. check-in: 62394c4e59 user: dkf tags: trunk | |
Changes
Changes to tip/425.md.
︙ | ︙ | |||
39 40 41 42 43 44 45 46 47 48 49 50 51 52 | Making things worse, stderr is implemented by the C runtime, \(msvcrt??.dll\) but if a application is embedding or dynamically loading tcl.dll then the runtime of the embedder might be different from tcl.dll/tclsh.exe's runtime. The embedder providing the panic proc gives the highest chance that panic messages arrive in the same runtime as the embedder. For tclsh.exe this makes no difference. # Proposed Change A new function _Tcl\_ConsolePanic_ is added to the stub library on Windows, which can be installed by embedding application as panic proc. The full signature is: | > > > > > > > > > > | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | Making things worse, stderr is implemented by the C runtime, \(msvcrt??.dll\) but if a application is embedding or dynamically loading tcl.dll then the runtime of the embedder might be different from tcl.dll/tclsh.exe's runtime. The embedder providing the panic proc gives the highest chance that panic messages arrive in the same runtime as the embedder. For tclsh.exe this makes no difference. Starting with VS2015, Microsoft introduced a new [Universal CRT (UCRT)](https://msdn.microsoft.com/en-us/library/abx4dbyh.aspx), which defaults to the standard channels stdin/stdout/stderr to be linked in statically. This makes it possible to have different dll's (e.g. zlib.dll / tcl87.dll) occupy a different C runtime (such as msvcrt.dll), but still prevent conflicts in the standard channels. That's why it is best to put Tcl\_ConsolePanic\(\) in Tcl's stub library, which assures the function to be linked in statically into the tclsh executable, in stead of dynamically in tcl87.dll. # Proposed Change A new function _Tcl\_ConsolePanic_ is added to the stub library on Windows, which can be installed by embedding application as panic proc. The full signature is: |
︙ | ︙ |