Develop and Download Open Source Software

Browse Subversion Repository

Contents of /trunk/teraterm/CMakeLists.txt

Parent Directory Parent Directory | Revision Log 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()

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26