小编sev*_*ven的帖子

Delphi - 将字节数组转换为字符串

如何在Delphi中将字节数组转换为字符串(base 256)?

delphi

25
推荐指数
3
解决办法
8万
查看次数

在Delphi中与SetLength一起使用时,动态数组的内存中有什么?

我有一个动态数组myArr.myArr当我们使用SetLength它时,存储在存储器中的是什么?是'00'吗?还是未定义?

SetLengthmyArr在这种情况下,分配16个字节的内存.

myArr : array of byte;

SetLength(myArr, 16);
Run Code Online (Sandbox Code Playgroud)

arrays delphi string

8
推荐指数
2
解决办法
2587
查看次数

在Delphi中使用SecureZeroMemory

我知道有一个SecureZeroMemoryC中的功能实现是在定义函数<WinnNT.h>作为RtlSecureZeroMemory函数.

QNS:如何SecureZeroMemory在Delphi中使用?Delphi是否发布了包含该功能的库?我正在使用Delphi 7. Windows.pas只有ZeroMemory但不是SecureZeroMemory.

c c++ memory delphi security

4
推荐指数
1
解决办法
2024
查看次数

如何将非null终止的char数组转换为字符串?

我有一个函数,它接受一系列char的指针.我希望从那一点复制256个字符,并将它们放在一个字符串中.

msg不以空值终止.

下面的代码似乎给了我一些问题.有没有正确的方法来做到这一点?

Init( msg: PCHAR)
var
 myStr: String;
begin
 for i:= 1 to 256 do
 begin
  myStr[i] := msg[i-1]; 
 end;
end;
Run Code Online (Sandbox Code Playgroud)

delphi string

3
推荐指数
1
解决办法
1021
查看次数

关于Delphi函数参数的问题

我是一名C程序员遇到了这个Delphi函数并且有一些问题.

procedure Init(const key; size: Integer; filler: Byte = $FF); overload
Run Code Online (Sandbox Code Playgroud)
  1. 变量key没有指定类型,在这种情况下它的类型是什么?
  2. " $FF"对变量意味着filler什么?

delphi

2
推荐指数
1
解决办法
650
查看次数

在C++中的堆或堆栈上的变量创建

Circle是一个类,有公共方法GetDiameter().以下两组代码有什么区别?

Qn1:方法1是否c堆栈上分配内存(因此不需要空闲内存),而方法2c堆上分配内存(需要手动释放内存)?

Qn2:我们什么时候应该使用方法1或方法2?

方法1:

void Init()
{
 Circle c;
 c.GetDiameter();

 return;
}
Run Code Online (Sandbox Code Playgroud)

方法2:

void Init()
{
 Circle *c = new Circle();
 c->GetDiameter();

 return;
}
Run Code Online (Sandbox Code Playgroud)

c++ memory class

2
推荐指数
2
解决办法
2164
查看次数

Delphi编译器是否执行优化?

我使用的是Delphi 7 IDE.Delphi编译器是否优化代码,就像C++编译器在以下链接中所做的那样?

http://msdn.microsoft.com/en-us/library/aa366877(VS.85).aspx

WCHAR szPassword[MAX_PATH];
// Retrieve the password
if (GetPasswordFromUser(szPassword, MAX_PATH))    
   UsePassword(szPassword);
// Clear the password from memory
SecureZeroMemory(szPassword, sizeof(szPassword));
Run Code Online (Sandbox Code Playgroud)

如果ZeroMemory在此示例中调用而不是SecureZeroMemory,则编译器可以优化调用,因为szPassword缓冲区在超出范围之前不会从中读取.密码将保留在应用程序堆栈中,可以在崩溃转储中捕获或由恶意应用程序探测.

delphi compiler-construction optimization compiler-optimization

1
推荐指数
1
解决办法
3297
查看次数

将OpenCv Mat插入C++ std :: vector

我正在将Mat对象推入std :: vector.

但是,当我在那之后尝试访问元素(Mat)时,它没有给我之前推送的图像,具体取决于frameOrientation.

例如,在下面的情况中,我得到"after_push_rotated2.jpg"与"before_push_rotated3.jpg"相同,这不应该是.

如果我将frameOrientation设置为所有"2s"或"4s",则"after_push_rotated1/2/3.jpg"都是相同的并且等于"before_push_rotated3.jpg".

这有什么不对?

#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
#include <iostream>
#include <vector>

using namespace cv;
using namespace std;

vector<Mat> checkOrientationAndRotate()
{
    Mat frame1 = imread("1.jpg" );
    Mat frame2 = imread("2.jpg" );
    Mat frame3 = imread("3.jpg" );



    vector<Mat> frameList;
    vector<Mat> frameList_rotated;

    frameList.push_back(frame1);
    frameList.push_back(frame2);
    frameList.push_back(frame3);

    Mat transposedFrame;
    Mat rotatedFrame;

    int i=0;
    for (vector<Mat>::iterator iter = frameList.begin(); iter != frameList.end(); iter++)
    {
        //Check for orientation of that frame
        int frameOrientation;
        if (i==0) frameOrientation = 1;
        if (i==1) frameOrientation …
Run Code Online (Sandbox Code Playgroud)

c++ opencv stl vector

1
推荐指数
1
解决办法
9566
查看次数