Работа над проектом WinPCap. Попытка выполнить некоторые основные операции с указателем и памятью и иметь много ошибок.Ошибка четной памяти - Bad Alloc
Я включил две строки, которые я пытаюсь запустить вместе с включенными. Те же строки в другом проекте VSC++ работают нормально. Это ошибка, я получаю
Необработанное исключение в 0x75a79617 в pktdump_ex.exe: Microsoft C++ исключение: станд :: bad_alloc в памяти месте 0x0012f8e4 ..
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include <string>
#include "DataTypes.h"
#include <sstream>
#include "EthernetLayer.h"
#include <pcap.h>
int* testPointer = new int[2];
delete[] testPointer;
EDIT: Обнаружил что-то полезное. Следующий фрагмент кода - это то, что разрушает библиотеку winpcap.
EthernetStructPointers* testData;
testData = (EthernetStructPointers*)pkt_data;
EthernetStruct newData;
memcpy(newData.DEST_ADDRESS, testData->DEST_ADDRESS, 6);
Это определения структур.
struct EthernetStructPointers
{
u_char DEST_ADDRESS[6];
u_char SOURCE_ADDRESS[6];
u_char TYPE[2];
};
struct EthernetStruct
{
u_char DEST_ADDRESS[6];
u_char SOURCE_ADDRESS[6];
u_char TYPE[2];
u_char* dataPointer;
string DestAddress;
string SourceAddress;
string Type;
int length;
};
Эти две линии прекрасны, поэтому они работают в других программах. Какова бы ни была ваша проблема, вы убрали ее из должности. Я бы предложил сделать наименьший возможный полный репродуктор и опубликовать его. –
Я не вижу ничего плохого в использовании вами 'new []' и 'delete []'. Может быть, эти операторы переопределены во всем мире и содержат плохой код? – stakx
Я постараюсь опубликовать код, но для этого потребуется наличие WinPCap. – bobber205