Browse Subversion Repository
Contents of /trunk/teraterm/CMakeLists.txt
Parent Directory
| Revision Log
Revision 10129 -
( show annotations)
( download)
Tue Aug 9 01:08:26 2022 UTC
(21 months, 3 weeks ago)
by zmatsuo
File MIME type: text/plain
File size: 1072 byte(s)
ttpset.dll を ttermpro.exe へマージした
- EXE(ttermpro.exe)とDLL(ttpset.dll)の各々にヒープが存在する
- モジュール(各ファイル)をまたいでお互いのヒープを操作すると問題が起きる
- dll側で確保してexe側で開放するなどの操作
- ヒープを操作するとアサートが出るなど問題
- どんな問題が出るのかについてのドキュメントは見当たらない
- _CrtIsValidHeapPointer()の説明のヒープ部分から…
- Visual Studio 2010 以降のCRTはヒープは単一になっているのかもしれない
- でも、DLLにstatic CRTがリンクされているときは、DLL個別のヒープが存在する
- Tera Term は static CRT を使用している → DLLに個別のヒープが存在する
- Tera Term 5 では、iniファイルから読み込んだファイル,パス文字列をヒープに置くようにした
- ttpset.dllがiniファイルの読み書きを担っていた
- Unicode対応と合わせて、ファイル名長の上限を撤廃しようとしている
- 従来の上限→MAX_PATH文字
- パスの変更などでモジュールをまたいだヒープ操作が行われることになり、問題が起こる可能性がある
- ログ保存先フォルダを変更するときなどに、malloc(),free()が行われる
- ttpset.dllをなくして、その機能をttermpro.exeに取り込むことでヒープに関する問題が出る可能性を減らす
- ttssh2-dev 409
ticket #45330
| 1 |
|
| 2 |
add_subdirectory(ttpcmn) |
| 3 |
set_target_properties( |
| 4 |
ttpcmn |
| 5 |
PROPERTIES FOLDER teraterm) |
| 6 |
|
| 7 |
add_subdirectory(ttpmacro) |
| 8 |
set_target_properties( |
| 9 |
ttpmacro |
| 10 |
PROPERTIES FOLDER teraterm) |
| 11 |
|
| 12 |
add_subdirectory(ttptek) |
| 13 |
set_target_properties( |
| 14 |
ttptek |
| 15 |
PROPERTIES FOLDER teraterm) |
| 16 |
|
| 17 |
add_subdirectory(teraterm) |
| 18 |
set_target_properties( |
| 19 |
teraterm |
| 20 |
PROPERTIES FOLDER teraterm) |
| 21 |
|
| 22 |
add_subdirectory(keycode) |
| 23 |
set_target_properties( |
| 24 |
keycode |
| 25 |
PROPERTIES FOLDER teraterm) |
| 26 |
set_target_properties( |
| 27 |
keycodeW |
| 28 |
PROPERTIES FOLDER teraterm) |
| 29 |
|
| 30 |
add_subdirectory(common) |
| 31 |
set_target_properties( |
| 32 |
common_static |
| 33 |
PROPERTIES FOLDER teraterm) |
| 34 |
|
| 35 |
if(SUPPORT_OLD_WINDOWS) |
| 36 |
if(CMAKE_SIZEOF_VOID_P EQUAL 4) |
| 37 |
add_subdirectory(layer_for_unicode) |
| 38 |
set_target_properties( |
| 39 |
layer_for_unicode |
| 40 |
PROPERTIES FOLDER teraterm) |
| 41 |
else() |
| 42 |
message(FATAL_ERROR "64bit binary can not support 9x") |
| 43 |
endif() |
| 44 |
|
| 45 |
if(MINGW) |
| 46 |
add_subdirectory(libmingw) |
| 47 |
set_target_properties( |
| 48 |
mingw_msvcrt |
| 49 |
PROPERTIES FOLDER teraterm) |
| 50 |
endif(MINGW) |
| 51 |
endif() |
|