我需要找到jpeg(jfif)图像的大小.图像不会保存为独立文件,因此我无法使用GetFileSize或任何其他此类API(图像放置在流中,除了通常的jpeg/jfif标头之外不存在其他标头(s) ).
我做了一些研究,发现JPEG图像由不同的部分组成,每个部分以帧标记(0xFF; XX)开始,以及该帧的大小.使用此信息,我能够从文件中解析大量信息.
问题是我无法找到压缩数据的大小,因为似乎压缩数据没有帧标记.此外,似乎压缩数据遵循SOS(FF; DA)标记,并且图像以图像结束(EOI)(FF; D9)标记结束.
实现这一目标的一种方法是从一个字节到另一个字节搜索EOI标记,但我认为压缩数据可能包含这个字节组合,对吧?
您是否知道一种简单而正确的方法来查找图像的总大小?(我非常喜欢一些没有任何外部库的代码/想法:))?
基本上,我需要图像开始(SOI-FFE0)和图像结束(EOI-FFD9)之间的距离(以字节为单位).
我希望能够在日志中打印一条消息,其中intellij想法将提供一种比较两个对象(字符串)的好方法.对于失败的junit断言记录的错误消息,这会自动发生:
assertEquals("some\nString", "another\nString");
=>
org.junit.ComparisonFailure: <Click to see difference>
at org.junit.Assert.assertEquals(Assert.java:123)
at org.junit.Assert.assertEquals(Assert.java:145)
at com.something.DummyTest.testDummy(DummyTest.java:89)
<Click to see difference>条目实际上显示为Intellij Idea输出窗口中的链接.当您单击该链接时,将打开一个比较窗口,其中显示了两个值(就像您比较两个文件一样).
简单地抛出异常是不可接受的,因为我想记录多个对象进行比较.我已经尝试过记录文本,但我无法说服想法比较这两个文本.
您将如何编写(在C/C++中)一个宏来测试整数类型(作为参数给出)是签名还是未签名?
#define is_this_type_signed (my_type) ...
我对有关在Visual Studio的调试器中调试C/C++项目的提示和技巧感兴趣.我最近发现如果你有一个指向某种数据类型的指针,让我们说char*ptr,那么你可以使用如下语法在监视窗口中将它看作一个数组:
ptr,10
这将显示ptr地址中的前10个元素,其方式与定义如下所示的方式相同:
char ptr[10];
您对Visual Studio调试器有哪些其他提示和技巧?
PS:我希望这个问题还没有讨论过.如果你找到类似的帖子,请告诉我.
如果目标体系结构是I386或AMD64,如何在编译时从ASM源文件中检测到?
我使用masm(ml.exe)/ masm64(ml64.exe)来组装file32.asm和file64.asm.创建单个文件file.asm会很好,它应该包含file32.asm或file64.asm,具体取决于体系结构.理想情况下,我希望能够写出如下内容:
IFDEF amd64 include file64.asm ELSE include file32.asm ENDIF
此外,如果需要,我可以使用不同的命令行选项运行ml.exe和ml64.exe.
谢谢!
我需要将枚举成员(其值,而不是标识符)转换为字符串.我尝试了以下,它适用于MACRO(TYPE_A),但不适用于枚举值(typeA).在我看来,这有点奇怪.
你知道怎么做吗?
#define _tostr(a) #a
#define tostr(a) _tostr(a)
typedef enum _SPECIAL_FOLDER_ID {
typeA = 3,
typeB = 4,
} SPECIAL_FOLDER_ID;
#define TYPE_A 3
int main() {
//this is working, but the information is a macro (TYPE_A)
printf("The string is " tostr(TYPE_A) ".\n");
//this is not working for typeA (defined in an enumeration)
printf("The string is " tostr(typeA) ".\n");
return 0;
}
输出是:
The string is 3. The string is typeA.
我需要以某种方式修改代码,以便输出的第二行是"字符串是3".
谢谢!
PS:我不想使用printf打印该值.我需要一个包含该值的静态字符串.我只使用printf来测试结果......