나는 sun.misc.Unsafe의 문서를 이해하는 데 어려움을 겪고있다. 일반적인 용도로 사용되지는 않았으므로 누구도 읽을 수 없도록 만들지는 않았지만 실제로는 배열의 요소 (그래서 포인터를 네이티브 코드에 전달할 수 있음). 누구든지이 작업을 수행하는 코드가 있습니까? 믿을만한가요?
I는 C#으로 구성 형의 고정 된 크기 어레이를 선언 할 방법이 CS1663을 초래할 것이다 [StructLayout(LayoutKind.Sequential,Pack=1), Serializable]
public unsafe struct MyStruct{
...
}
public class MyClass {
...
public
관리되지 않는 C++ 코드에서 전달 된 wchar_t 매개 변수에 대한 포인터를 갖고 싶기 때문에 안전하지 않은 컨텍스트가 있다고 가정합니다. 예를 들면 다음과 같습니다. unsafe public(int* A, ???* B)
{
_myInt = A;
_myString = B;
}
int 매개 변수는 모든 것이 좋지만 ??? wcha
나는 DLL에서 함수를 가지고 : char __usercall MyUserCallFunction<al>(int arg1<esi>)
내가/호출을 P를 사용하여 C#을 내에서이 전화를하고 싶습니다 내가 자신을 싫어하기 때문에. 수행하여 호출 후 [UnmanagedFunctionPointer(CallingConvention.ThisCall, CharSet =
C#에서 네이티브 함수로 배열 배열을 전달할 수있는 방법을 찾고 있습니다. 이미 함수 (Marshal.GetDelegateForFunctionPointer)에 대한 대리자가 있지만 이제는 다차원 배열 (또는 오히려 배열 배열)을 전달하려고합니다. 이 코드 예제는 입력에 2 개의 하위 배열이 있지만 모든 하위 배열을 처리 할 수 있어야합니다. 그 일을하는
나는 컴파일되지 않습니다이 코드를 가지고, 내가 왜 코드가 컴파일되지 않습니다 알고 public struct MyStruct
{
private fixed uint myUints[32];
public uint[] MyUints
{
get
{
return this.myUints;
}
내 프로젝트에 여러 관리되지 않는 C++ DLL을 가져 오지만 가져온 DLL에는 컴파일러 문제를 일으키는 동일한 메서드 이름이 있습니다. 예를 들어; unsafe class Myclass
{
[DllImport("myfirstdll.dll")]
public static extern bool ReturnValidate(long* bignu
C# 내에서 포인터 (C/C++ 스타일)에 메모리를 할당하는 올바른 방법에 대해 궁금합니다. 그런 다음 오랜 시간 동안 해당 메모리를 누르고 있습니다. 또한이 할당 된 메모리는 DeviceIoControl()에 대한 호출에 사용하기위한 것입니다. 이 클래스를 고려이 class Example {
const uint memCommit = 0x1000;