===================================
DCMTK COMPILE TIME FLAGS AND MACROS
===================================
The behavior of several DCMTK tools and libraries can be modified by
a number of compile time flags (macros), which are explained below.
Most of these macros enable experimental or rarely needed features
in DCMTK, others disable certain functions. So please, use with care!
ALLOW_ILLUMINATION_OVERRIDE
Affected: dcmprscu
Type of modification: Activates experimental or rarely used feature
Explanation: Allows the settings for Illumination and Reflected
Ambient Light, which are stored in a Stored Print object, to be
overridden from the print job command file.
BUGGY_IMPLEMENTATION_CLASS_UID_PREFIX
Affected: storescp
Type of modification: Activates workaround for known bug in other product
Explanation: The dcmnet module contains a workaround that allows to
communicate with some buggy Storage SCUs. If the global flag
dcmPeerRequiresExactUIDCopy is enabled, an illegal space padding in
the Affected SOP Instance UID field of the C-STORE-RQ message is
retained in the corresponding C-STORE-RSP message. When this
preprocessor macro is defined, it should contain the prefix of an
implementation class UID of an implementation known to exhibit the
buggy behavior. The workaround is then activated in storescp
whenever a Storage SCU with the given implementation class UID root
connects.
DCMTK_BUILD_DATE
Affected: dcmdata
Type of modification: Toolkit customization
Explanation: When this macro is defined (typically in config/Makefile.def),
the given date is used instead of the official DCMTK release data. This
allows for example to specify the date of a current development snapshot.
DCMTK_BUILD_IN_PROGRESS
Affected: all modules
Type of modification: Toolkit customization
Explanation: When building DLLs, exported symbols must be marked differently
if the DLL itself is built or when the DLL shall be used. This macro is
defined when the DCMTK gets built and should not be defined when user code
that just uses the DCMTK is built. Based on this, the correct annotation
gets selected and is used in the code. There should be no valid reasons to
define this macro yourself since this is done automatically by the build
system.
DCMTK_UNDEF_SANITIZER
Affected: all modules
Type of modification: Toolkit customization
Explanation: When compiling with the GCC undefined behavior sanitizer
(-fsanitize=undefined), this macro must be defined to disable certain code
in config/tests/arith.cc that would otherwise trigger a runtime error to be
raised by the sanitizer and thus prevent the CMake configure phase from
completing.
DCMTK_ENABLE_UNSAFE_VSNPRINTF
Affected: ofstd
Type of modification: Activates feature
Explanation: DCMTK requires the snprintf(3)/vsnprintf(3) function, which
was introduced with C99 and may not be supported by very old compilers.
As a "last resort", an implementation interally using sprintf/vsprintf
can be enabled with this macro, which allows the user to compile DCMTK
on platforms that do not have the new functions.
The implementation allocates a buffer that is 1 kByte larger than
the "size" parameter, formats the string into that buffer, and then
uses strlcpy() to copy the formatted string into the output buffer,
truncating if necessary.
This will work in most cases, since few snprintf calls should overrun
their buffer by more than 1K, but it can be easily abused by
a malicious attacker to cause a buffer overrun.
Therefore, this implementation should only be used as a "last resort"
and we strongly advise against using it in production code.
DCMTK_GUI
Affected: all modules
Type of modification: Activates experimental or rarely used feature
Explanation: When this macro is defined, DCMTK re-assigns the standard
output and error streams maintained by ofConsole to string streams.
This will allow a GUI based application to extract the messages and
either present them to the user or store them in a log file. See
comments in ofstd/include/dcmtk/ofstd/ofconsol.h.
DCMTK_LOG4CPLUS_AVOID_WIN32_FLS
Affected: oflog
Type of modification: Disables feature
Explanation: Starting with release 3.6.5, DCMTK uses fiber local storage
instead of thread local storage in the oflog module on Windows to store
thread-specific information. This has the advantage that a callback can
be (and is) registered that automatically cleans up the memory when a
thread ends. The old behaviour can be re-activated with this macro.
This may be necessary when an application wants to use multiple fibers
within a single thread. In that case, before ending a thread,
dcmtk::log4cplus::threadCleanup() should be called by the user code in
order to clean-up oflog's thread local storage.
DICOMDIR_WITHOUT_BACKUP
Affected: dcmdata
Type of modification: Disables feature
Explanation: By default, DCMTK creates a backup of an existing DICOMDIR
(using the name DICOMDIR.$$$) when a DcmDicomDir object is written
to file. The creation of the backup can be disabled with this macro.
DISABLE_COMPRESSION_EXTENSION
Affected: dcmqrdb
Type of modification: Disables feature
Explanation: Disables the support of compression (various transfer
syntaxes) in dcmqrdb, a feature which is still experimental.
DISABLE_FF_JPEG_BITSTREAM_PADDING
Affected: dcmjpeg, dcmjpls (dcmjpls only up to DCMTK 3.6.4)
Type of modification: Disables feature
Explanation: Starting with release 3.6.2, DCMTK pads JPEG and JPEG-LS
bitstreams that have odd length with an "extended" end of image (EOI)
marker, writing ff/ff/d9 instead of adding a zero byte after the
EOI marker, i.e. writing ff/d9/00. The old behaviour can be restored
by defining this macro.
In the dcmjpls module, the macro has been replaced by a codec
parameter that can be set at runtime starting with DCMTK 3.6.5.
DISABLE_NAGLE_ALGORITHM
Affected: dcmnet
Type of modification: Disables feature
Explanation: By default, DCMTK does not disable the so-called Nagle
algorithm, which allows for improving the efficiency of TCP/IP networks
by reducing the number of packets that need to be sent over the network.
When compiled with this macro, the Nagle algorithm is disabled for each
DICOM transport connection. This was the default in earlier versions of
the DCMTK but does not seem to be appropriate anymore for most modern
operating systems. The default behavior can be changed by setting the
environment variable TCP_NODELAY accordingly (see config/docs/envvars.txt
or /usr/local/share/doc/dcmtk/envvars.txt).
DISABLE_OFSTD_ATOF
Affected: all modules
Type of modification: Disables feature
Explanation: By default, DCMTK uses its own implementation of atof()
to convert strings to double numbers in a locale-independent manner.
This flag forces DCMTK to use the standard sscanf() function
instead, which is normally much faster and gives a higher precision
than DCMTK's built in code, but is locale dependent, i.e. cannot be
used with locales such as German since DICOM decimal strings always
use the Posix locale.
DISABLE_OFSTD_FTOA
Affected: all modules
Type of modification: Disables feature
Explanation: By default, DCMTK uses its own implementation to convert
double numbers to strings to in a locale-independent manner.
This flag forces DCMTK to use the standard sprintf() function
instead, which is locale dependent, i.e. cannot be used with locales
such as German since DICOM decimal strings always use the Posix
locale.
DISABLE_PORT_PERMISSION_CHECK
Affected: most/all network server tools
Type of modification: Disables feature
Explanation: By default, most network server tools (e.g. storescp) check
for suffici
没有合适的资源?快使用搜索试试~ 我知道了~
Dcmtk3.6.6.rar
共1183个文件
h:950个
exe:73个
lib:27个
需积分: 5 17 下载量 173 浏览量
2021-07-30
16:05:04
上传
评论
收藏 10.2MB RAR 举报
温馨提示
基于VS2017 X64 编译完成,可直接使用
资源推荐
资源详情
资源评论
收起资源包目录
Dcmtk3.6.6.rar (1183个子文件)
CHANGES.301 2KB
CHANGES.302 2KB
CHANGES.310 963B
CHANGES.311 6KB
CHANGES.312 5KB
CHANGES.320 28KB
CHANGES.321 843B
CHANGES.330 35KB
CHANGES.331 10KB
CHANGES.340 101KB
CHANGES.341 80KB
CHANGES.342 86KB
CHANGES.350 16KB
CHANGES.351 70KB
CHANGES.352 130KB
CHANGES.353 184KB
CHANGES.354 78KB
CHANGES.360 452KB
CHANGES.362 1022KB
CHANGES.363 86KB
CHANGES.364 127KB
CHANGES.365 89KB
CHANGES.366 111KB
ANNOUNCE 5KB
dcmpstat.cfg 52KB
storescp.cfg 27KB
storescu.cfg 16KB
printers.cfg 15KB
logger.cfg 9KB
dcmqrscp.cfg 3KB
filelog.cfg 1KB
DCMTKTargets-release.cmake 40KB
DCMTKTargets.cmake 13KB
DCMTKConfig.cmake 5KB
DCMTKConfigVersion.cmake 3KB
COPYRIGHT 47KB
CREDITS 3KB
reportx.css 1KB
report.css 1KB
piof.def 375B
mmtag.def 352B
shadow.def 339B
signcmp.def 229B
overflow.def 229B
cnvrsn.def 225B
push.def 180B
pop.def 177B
vsprfw.def 149B
nsdfti.def 149B
dicom.dic 241KB
private.dic 172KB
acrnema.dic 10KB
diconde.dic 10KB
dcmrt.dll 5.43MB
dcmimgle.dll 2.02MB
dcmdata.dll 1.83MB
dcmpstat.dll 1.24MB
dcmnet.dll 1.02MB
dcmsr.dll 906KB
dcmiod.dll 768KB
cmr.dll 759KB
dcmfg.dll 587KB
dcmimage.dll 544KB
oflog.dll 363KB
dcmqrdb.dll 353KB
ofstd.dll 259KB
dcmtract.dll 239KB
dcmwlm.dll 239KB
dcmjpeg.dll 222KB
dcmpmap.dll 202KB
dcmseg.dll 198KB
i2d.dll 170KB
ijg16.dll 168KB
ijg12.dll 167KB
ijg8.dll 166KB
dcmect.dll 143KB
dcmtkcharls.dll 132KB
dcmjpls.dll 100KB
dcmtls.dll 28KB
dcmdsig.dll 10KB
dcm2xml.dtd 1KB
VLP.dump 4KB
SC.dump 4KB
wlistqry11.dump 2KB
wlistqry7.dump 2KB
wlistqry2.dump 2KB
wlistqry1.dump 1KB
wlistqry10.dump 1KB
wlistqry9.dump 1KB
wlistqry5.dump 851B
wlistqry12.dump 747B
wklist2.dump 668B
wklist1.dump 658B
wklist9.dump 656B
wklist8.dump 654B
wklist7.dump 654B
wklist6.dump 653B
wklist10.dump 649B
wlistqry8.dump 649B
wklist5.dump 644B
共 1183 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12
资源评论
DreamLife.
- 粉丝: 3w+
- 资源: 75
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功