!!版权声明:本文为博主原创文章,版权归原文作者和博客园共有,谢绝任何形式的 转载!!

作者:mohist

说明:

  A、OS : win10 1909 ,没有配置OpenGL开发环境的 经历。

  B、 VS: 2015_up3

  今天的随笔是基于  昨天的源码。 若没有看, 请点击    这里

  也可以在这里下载: https://github.com/mohistH/nanogui_lib/releases/tag/1.0

  还有,需要用到  cmake  , 而且需要将其添加到 环境变量中,这样就可以愉快的在命令行使用cmake了。

-----------------------------------------------------------------------------------------------------------

   1、准备好源码, 打开源码文件夹, 来到 : XXXXX: \nanogui_lib\nanogui_lib\lib\nanogui  目录。

  1. C:\nanogui_lib\nanogui_lib\lib\nanogui 的目录
  2.  
  3. 2020/07/21 09:09 <DIR> .
  4. 2020/07/21 09:09 <DIR> ..
  5. 2020/07/21 09:11 <DIR> build
  6. 2020/07/20 10:42 22,396 CMakeLists.txt
  7. 2020/07/20 10:42 2,563 CONTRIBUTING.rst
  8. 2020/07/21 09:07 <DIR> docs
  9. 2020/07/21 09:07 <DIR> ext
  10. 2020/07/21 09:07 <DIR> include
  11. 2020/07/20 10:42 2,190 LICENSE.txt
  12. 2020/07/21 09:07 <DIR> python
  13. 2020/07/20 10:42 7,671 README.rst
  14. 2020/07/21 09:07 <DIR> resources
  15. 2020/07/21 09:07 <DIR> src
  16. 4 个文件 34,820 字节
  17. 9 个目录 111,890,804,736 可用字节

  

  2、我这里已经创建了 文件夹 build.  若没有创建,   使用命令:  mkdir+文件名 ( +为空格)

  1. mkdir build

  3、执行命令: cd build 进入build文件夹,  接着, 再执行命令: cmake ..

  1. cmake ..

  4、等待命令输出 对应的解决方案 及其工程文件,

  1. C:\nanogui_lib\nanogui_lib\lib\nanogui\build>cmake ..
  2. -- Building for: Visual Studio 14 2015
  3. -- Selecting Windows SDK version to target Windows 10.0.18363.
  4. -- The C compiler identification is MSVC 19.0.24215.1
  5. -- The CXX compiler identification is MSVC 19.0.24215.1
  6. -- Detecting C compiler ABI info
  7. -- Detecting C compiler ABI info - done
  8. -- Check for working C compiler: C:/major/development/tools/vs_install/vs_2015/VC/bin/cl.exe - skipped
  9. -- Detecting C compile features
  10. -- Detecting C compile features - done
  11. -- Detecting CXX compiler ABI info
  12. -- Detecting CXX compiler ABI info - done
  13. -- Check for working CXX compiler: C:/major/development/tools/vs_install/vs_2015/VC/bin/cl.exe - skipped
  14. -- Detecting CXX compile features
  15. -- Detecting CXX compile features - done
  16. -- Looking for pthread.h
  17. -- Looking for pthread.h - not found
  18. -- Found Threads: TRUE
  19. -- Using Win32 for window creation
  20. -- NanoGUI: LTO support enabled.
  21. -- Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE)
  22. CMake Warning at CMakeLists.txt:450 (message):
  23. NanoGUI: not building the Python plugin!
  24.  
  25. -- Configuring done
  26. -- Generating done
  27. -- Build files have been written to: C:/nanogui_lib/nanogui_lib/lib/nanogui/build

  

   5、继续执行命令 dir ,可以看到生成了解决方案。

  1. C:\nanogui_lib\nanogui_lib\lib\nanogui\build 的目录
  2.  
  3. 2020/07/21 09:11 <DIR> .
  4. 2020/07/21 09:11 <DIR> ..
  5. 2020/07/21 09:10 51,321 ALL_BUILD.vcxproj
  6. 2020/07/21 09:10 293 ALL_BUILD.vcxproj.filters
  7. 2020/07/21 09:10 15,768 CMakeCache.txt
  8. 2020/07/21 09:12 <DIR> CMakeFiles
  9. 2020/07/21 09:10 3,077 cmake_install.cmake
  10. 2020/07/21 09:12 <DIR> Debug
  11. 2020/07/21 09:11 <DIR> example1.dir
  12. 2020/07/21 09:10 64,586 example1.vcxproj
  13. 2020/07/21 09:10 597 example1.vcxproj.filters
  14. 2020/07/21 09:11 <DIR> example2.dir
  15. 2020/07/21 09:10 64,586 example2.vcxproj
  16. 2020/07/21 09:10 597 example2.vcxproj.filters
  17. 2020/07/21 09:11 <DIR> example3.dir
  18. 2020/07/21 09:10 64,586 example3.vcxproj
  19. 2020/07/21 09:10 597 example3.vcxproj.filters
  20. 2020/07/21 09:11 <DIR> example4.dir
  21. 2020/07/21 09:10 64,586 example4.vcxproj
  22. 2020/07/21 09:10 597 example4.vcxproj.filters
  23. 2020/07/21 09:11 <DIR> example_icons.dir
  24. 2020/07/21 09:10 64,676 example_icons.vcxproj
  25. 2020/07/21 09:10 602 example_icons.vcxproj.filters
  26. 2020/07/21 09:10 <DIR> ext_build
  27. 2020/07/21 09:10 <DIR> icons
  28. 2020/07/21 09:10 12,406 INSTALL.vcxproj
  29. 2020/07/21 09:10 535 INSTALL.vcxproj.filters
  30. 2020/07/21 09:10 55,517 mkdoc.vcxproj
  31. 2020/07/21 09:10 729 mkdoc.vcxproj.filters
  32. 2020/07/21 09:11 <DIR> nanogui-obj.dir
  33. 2020/07/21 09:10 73,592 nanogui-obj.vcxproj
  34. 2020/07/21 09:10 10,627 nanogui-obj.vcxproj.filters
  35. 2020/07/21 09:11 <DIR> nanogui.dir
  36. 2020/07/21 09:10 14,106 NanoGUI.sln
  37. 2020/07/21 09:12 51,712,000 NanoGUI.VC.db
  38. 2020/07/21 09:10 70,598 nanogui.vcxproj
  39. 2020/07/21 09:10 8,457 nanogui.vcxproj.filters
  40. 2020/07/21 09:11 1,741,174 nanogui_resources.cpp
  41. 2020/07/21 09:11 299 nanogui_resources.h
  42. 2020/07/21 09:11 <DIR> Win32
  43. 2020/07/21 09:10 54,393 ZERO_CHECK.vcxproj
  44. 2020/07/21 09:10 536 ZERO_CHECK.vcxproj.filters
  45. 28 个文件 54,151,438 字节
  46. 14 个目录 111,864,328,192 可用字节

  6、 打开 nanogui.sln 文件。可以看有下面的项目:

  7、 选择项目: ALL_BUILD , 右键 选择生成, (debug 与 release 都行), 静待 生成 结果:

   8、VS输出结果:

  1. 1>------ 已启动全部重新生成: 项目: ZERO_CHECK, 配置: Debug Win32 ------
  2. 1> Checking Build System
  3. 2>------ 已启动全部重新生成: 项目: glfw_objects, 配置: Debug Win32 ------
  4. 3>------ 已启动全部重新生成: 项目: nanogui-obj, 配置: Debug Win32 ------
  5. 2> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/ext/glfw/src/CMakeLists.txt
  6. 2> context.c
  7. 3> Running bin2c
  8. 2> init.c
  9. 2> input.c
  10. 2> monitor.c
  11. 2> vulkan.c
  12. 2> window.c
  13. 3> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/CMakeLists.txt
  14. 2> win32_init.c
  15. 3> nanovg.c
  16. 3>c:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\fontstash.h(911): warning C4389: “!=”: 有符号/无符号不匹配
  17. 2> win32_joystick.c
  18. 3> glad.c
  19. 2> win32_monitor.c
  20. 2> win32_time.c
  21. 3> nanogui_resources.cpp
  22. 3> glutil.cpp
  23. 3> common.cpp
  24. 3> widget.cpp
  25. 3> theme.cpp
  26. 3> layout.cpp
  27. 3> screen.cpp
  28. 3> label.cpp
  29. 3> window.cpp
  30. 3> popup.cpp
  31. 3> checkbox.cpp
  32. 3> button.cpp
  33. 2> win32_tls.c
  34. 2> win32_window.c
  35. 3> popupbutton.cpp
  36. 2> wgl_context.c
  37. 2> egl_context.c
  38. 2> 正在生成代码...
  39. 2> glfw_objects.vcxproj -> C:\nanogui_lib\nanogui_lib\lib\nanogui\build\ext_build\glfw\src\glfw_objects.dir\Debug\glfw_objects.lib
  40. 3> combobox.cpp
  41. 3> progressbar.cpp
  42. 3> slider.cpp
  43. 3> messagedialog.cpp
  44. 3> textbox.cpp
  45. 3> imagepanel.cpp
  46. 3> imageview.cpp
  47. 3> vscrollpanel.cpp
  48. 3> colorwheel.cpp
  49. 3> colorpicker.cpp
  50. 3> graph.cpp
  51. 3> stackedwidget.cpp
  52. 3> tabheader.cpp
  53. 3> tabwidget.cpp
  54. 3> glcanvas.cpp
  55. 3> serializer.cpp
  56. 3> nanogui-obj.vcxproj -> C:\nanogui_lib\nanogui_lib\lib\nanogui\build\nanogui-obj.dir\Debug\nanogui-obj.lib
  57. 4>------ 已启动全部重新生成: 项目: nanogui, 配置: Debug Win32 ------
  58. 4> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/CMakeLists.txt
  59. 4> 正在创建库 C:/nanogui_lib/nanogui_lib/lib/nanogui/build/Debug/nanogui.lib 和对象 C:/nanogui_lib/nanogui_lib/lib/nanogui/build/Debug/nanogui.exp
  60. 4> nanogui.vcxproj -> C:\nanogui_lib\nanogui_lib\lib\nanogui\build\Debug\nanogui.dll
  61. 4> nanogui.vcxproj -> C:/nanogui_lib/nanogui_lib/lib/nanogui/build/Debug/nanogui.pdb (Full PDB)
  62. 5>------ 已启动全部重新生成: 项目: example1, 配置: Debug Win32 ------
  63. 6>------ 已启动全部重新生成: 项目: example2, 配置: Debug Win32 ------
  64. 7>------ 已启动全部重新生成: 项目: example3, 配置: Debug Win32 ------
  65. 8>------ 已启动全部重新生成: 项目: example4, 配置: Debug Win32 ------
  66. 9>------ 已启动全部重新生成: 项目: example_icons, 配置: Debug Win32 ------
  67. 6> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/CMakeLists.txt
  68. 5> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/CMakeLists.txt
  69. 8> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/CMakeLists.txt
  70. 6> example2.cpp
  71. 5> example1.cpp
  72. 8> example4.cpp
  73. 7> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/CMakeLists.txt
  74. 9> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/CMakeLists.txt
  75. 7> example3.cpp
  76. 9> example_icons.cpp
  77. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(886): warning C4505: stbi_failure_reason”: 未引用的本地函数已移除
  78. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(932): warning C4505: stbi_set_flip_vertically_on_load”: 未引用的本地函数已移除
  79. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1064): warning C4505: stbi_load_from_memory”: 未引用的本地函数已移除
  80. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1071): warning C4505: stbi_load_from_callbacks”: 未引用的本地函数已移除
  81. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1096): warning C4505: stbi_loadf_from_memory”: 未引用的本地函数已移除
  82. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1103): warning C4505: stbi_loadf_from_callbacks”: 未引用的本地函数已移除
  83. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1111): warning C4505: stbi_loadf”: 未引用的本地函数已移除
  84. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1135): warning C4505: stbi_is_hdr_from_memory”: 未引用的本地函数已移除
  85. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1149): warning C4505: stbi_is_hdr”: 未引用的本地函数已移除
  86. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1173): warning C4505: stbi_is_hdr_from_callbacks”: 未引用的本地函数已移除
  87. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1189): warning C4505: stbi_ldr_to_hdr_gamma”: 未引用的本地函数已移除
  88. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1190): warning C4505: stbi_ldr_to_hdr_scale”: 未引用的本地函数已移除
  89. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1195): warning C4505: stbi_hdr_to_ldr_gamma”: 未引用的本地函数已移除
  90. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1196): warning C4505: stbi_hdr_to_ldr_scale”: 未引用的本地函数已移除
  91. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(3845): warning C4505: stbi_zlib_decode_malloc”: 未引用的本地函数已移除
  92. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(3866): warning C4505: stbi_zlib_decode_buffer”: 未引用的本地函数已移除
  93. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(3877): warning C4505: stbi_zlib_decode_noheader_malloc”: 未引用的本地函数已移除
  94. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(3893): warning C4505: stbi_zlib_decode_noheader_buffer”: 未引用的本地函数已移除
  95. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(4265): warning C4505: stbi_set_unpremultiply_on_load”: 未引用的本地函数已移除
  96. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(4270): warning C4505: stbi_convert_iphone_png_to_rgb”: 未引用的本地函数已移除
  97. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(6423): warning C4505: stbi_info”: 未引用的本地函数已移除
  98. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(6445): warning C4505: stbi_info_from_memory”: 未引用的本地函数已移除
  99. 5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(6452): warning C4505: stbi_info_from_callbacks”: 未引用的本地函数已移除
  100. 8> example4.vcxproj -> C:\nanogui_lib\nanogui_lib\lib\nanogui\build\Debug\example4.exe
  101. 8> example4.vcxproj -> C:/nanogui_lib/nanogui_lib/lib/nanogui/build/Debug/example4.pdb (Full PDB)
  102. 9> example_icons.vcxproj -> C:\nanogui_lib\nanogui_lib\lib\nanogui\build\Debug\example_icons.exe
  103. 9> example_icons.vcxproj -> C:/nanogui_lib/nanogui_lib/lib/nanogui/build/Debug/example_icons.pdb (Full PDB)
  104. 6> example2.vcxproj -> C:\nanogui_lib\nanogui_lib\lib\nanogui\build\Debug\example2.exe
  105. 6> example2.vcxproj -> C:/nanogui_lib/nanogui_lib/lib/nanogui/build/Debug/example2.pdb (Full PDB)
  106. 5> example1.vcxproj -> C:\nanogui_lib\nanogui_lib\lib\nanogui\build\Debug\example1.exe
  107. 5> example1.vcxproj -> C:/nanogui_lib/nanogui_lib/lib/nanogui/build/Debug/example1.pdb (Full PDB)
  108. 7> example3.vcxproj -> C:\nanogui_lib\nanogui_lib\lib\nanogui\build\Debug\example3.exe
  109. 7> example3.vcxproj -> C:/nanogui_lib/nanogui_lib/lib/nanogui/build/Debug/example3.pdb (Full PDB)
  110. 10>------ 已启动全部重新生成: 项目: ALL_BUILD, 配置: Debug Win32 ------
  111. 10> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/CMakeLists.txt
  112. ========== 全部重新生成: 成功 10 个,失败 0 个,跳过 0 ==========

    9、打开  build 目录下的 Debug目录(我这里选择 生成的是 debug )  , 可以看到生成了 很多文件,包括 example1.exe 之类的, 还有dll, 还有lib。 debug, 很多的调试文件。

  1. 2020/07/21 09:12 <DIR> .
  2. 2020/07/21 09:12 <DIR> ..
  3. 2020/07/21 09:12 603,648 example1.exe
  4. 2020/07/21 09:12 2,566,584 example1.ilk
  5. 2020/07/21 09:12 9,523,200 example1.pdb
  6. 2020/07/21 09:12 479,744 example2.exe
  7. 2020/07/21 09:12 2,094,408 example2.ilk
  8. 2020/07/21 09:12 8,114,176 example2.pdb
  9. 2020/07/21 09:12 483,840 example3.exe
  10. 2020/07/21 09:12 2,174,368 example3.ilk
  11. 2020/07/21 09:12 8,155,136 example3.pdb
  12. 2020/07/21 09:12 186,880 example4.exe
  13. 2020/07/21 09:12 1,031,136 example4.ilk
  14. 2020/07/21 09:12 6,492,160 example4.pdb
  15. 2020/07/21 09:12 280,064 example_icons.exe
  16. 2020/07/21 09:12 595,868 example_icons.ilk
  17. 2020/07/21 09:12 5,066,752 example_icons.pdb
  18. 2020/07/21 09:12 3,741,696 nanogui.dll
  19. 2020/07/21 09:12 379,970 nanogui.exp
  20. 2020/07/21 09:12 15,098,316 nanogui.ilk
  21. 2020/07/21 09:12 586,868 nanogui.lib
  22. 2020/07/21 09:12 57,389,056 nanogui.pdb

    10、执行 exampleX.exe, 。 可以看到 NanoGUI 在github 上的截图了。

   

  ------完结------

下一步, 阅读源码。

win10+vs2015编译nanogui的更多相关文章

  1. win10+vs2015编译caffe的cpu debug版本、部署matcaffe

    一.编译caffe 1.安装python-3.5.2-amd64.exe https://www.python.org/ftp/python/3.5.2/python-3.5.2-amd64.exe ...

  2. win10 + VS2015 编译 ARPACK

    step 1: 下载ARPACK , mingw-w64-install 和 mingw-get-inst-20120426.exe: step 2: 安装 MinGW-64默认安装路径即可. ste ...

  3. VS2015在win10上编译的程序在Win7上运行的方法

    在win10系统上使用vs2015编译了一个32位的应用程序.在win7上报错无法启动. 下面的win7系统上是可以运行的 无法运行的win7系统: 报错: 1.应用程序无法正常启动(0xc00000 ...

  4. win10 vs2015源码编译opencv、opencv_contrib、Tesseract

    1.软件包准备 opencv源码包地址:                官网  github opencv_contrib源码包地址:   github Tesseract源码包地址:        ...

  5. WIN10+QT5.9+VS2015编译RedisDesktopManager

    原文:WIN10+QT5.9+VS2015编译RedisDesktopManager 官方源码编译安装说明地址:http://docs.redisdesktop.com/en/latest/insta ...

  6. OpenBLAS编译 Debug x64 Win10 vs2015

    OpenBLAS编译  Debug x64  Win10  vs2015 >------ 已启动生成: 项目: ZERO_CHECK, 配置: Debug x64 ------ > Che ...

  7. Hadoop 3.2.1 win10 64位系统 vs2015 编译

    Hadoop 3.2.1 win10 64位系统 vs2015 编译 1        环境配置 1.1   JDK下载安装 1.1.1         下载 JDK 1.8    (jdk1.8.0 ...

  8. [Caffe]Win10+VS2015+CUDA8.0+cudnn5.1环境配置

    百度:win10 caffe vs2015 编译caffe.sln工程参见->这里 caffe训练参见->这里 参见->这里 Windows+VS2013爆详细Caffe编译安装教程

  9. [转]Windows下使用VS2015编译openssl库

    转自:http://blog.csdn.net/alger_magic/article/details/52584171 目标:编译vs环境下openssl库 工具: 1. 编译环境win10+vs2 ...

随机推荐

  1. NOIP2021 游记

    不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分释迦牟尼脚绽莲花菩提达摩你真伟大天上天下唯我独尊如来佛祖太上老君耶稣耶稣 ...

  2. .NET Core如何配置TLS Cipher(套件)?

    前言 前不久我发表了一篇关于TLS协议配置被我钻了空子,经过第三方合作伙伴验证,针对此TLS协议存在不安全套件,急催速速解决,那么我们本篇开始继续整活!第三方合作伙伴对平台安全严苛要求,我们已连续发版 ...

  3. PC端申请表

    公司项目需求中要做用html做一个PDF申请表的样式出来.有点意思,贴上来大家看看. 先上效果图: 附上源代码: HTML:<div id="form"> <h2 ...

  4. 数组的高阶方法map filter reduce的使用

    数组中常用的高阶方法: foreach    map    filter    reduce    some    every 在这些方法中都是对数组中每一个元素进行遍历操作,只有foreach是没有 ...

  5. 文件读写以及NMEA码中GPS信息的提取

    首先先了解下什么是NMEA码,这里有很好的解释,就不直接搬运了 http://www.gpsbaby.com/wz/nmea.html 首先要找到包含GPS信息的文本行,即字符串GPGGA所在行 $G ...

  6. docker配置国内阿里云镜像源

    使用docker默认镜像源下载镜像会很慢,因此很多情况下,我们在安装完docker以后都会修改为国内的镜像,这样在下载镜像的时候就不用等那么长时间了. 配置docker的镜像为阿里云镜像 方法一 $ ...

  7. 加密时java.security.InvalidKeyException: Illegal key size or default parameters解决办法

    需 Java几乎各种常用加密算法都能找到对应的实现.因为美国的出口限制,Sun通过权限文件(local_policy.jar.US_export_policy.jar)做了相应限制.因此存在一些问题: ...

  8. Java 使用slf4j记录日志

    引入依赖 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12< ...

  9. 【Linux】【Services】【Project】Haproxy Keepalived Postfix实现邮件网关Cluster

    1. 简介: 1.1. 背景:公司使用exchange服务器作为邮件服务器,但是使用Postfix作为邮件网关实现病毒检测,内容过滤,反垃圾邮件等功能.原来的架构非常简单,只有两台机器,一个负责进公司 ...

  10. 【Linux】【Services】【DNS】bind基础

    1. 概念 1.1. DNS: Domain Name Service, 应用层协议,占用53/udp, 53/tcp 1.2. tld(顶级域):Top Level Domain 组织域:.com, ...