标签: memory-management

在C#中,如果我从一个未实例化的不同类中调用一个方法,那么在调用该方法时该类是否被实例化?

class State
{
    public void FalconPunch()
    {
        Console.Writeline("Punched.")
    }
}

class Testy
{
    public void TryThis()
    {
        State.FalconPunch();
    }
}
Run Code Online (Sandbox Code Playgroud)

当Testy类中的方法TryThis()调用State.FalconPunch()时,是否为了执行FalconPunch()方法而实例化了类State(即使是片刻)?

我正在尝试确定是否需要静态状态,以供我游戏中的所有AI代理使用.它在移动平台上,所以我在努力写下优化.

c# memory memory-management

-5
推荐指数
1
解决办法
113
查看次数

FORTRAN中的释放和内存分配问题

我遇到了deallocate的问题并分配了部分FORTRAN代码的各个方面.特别是,我认为这个问题与通过搜索我在网络上的错误消息的内存分配有关.错误消息谈论无效指针,但是,我没有在我的程序中使用任何指针

在完成我的f循环的迭代#2(见下文)之后,程序崩溃了,或者大部分时间它崩溃了,有时它只是冻结了.我相信这就是bug的关键所在.因为程序运行到了这一点.

我没有显示子程序,但由于它们适用于其他模拟组合,我有理由相信它们不是问题.我正在使用deallocate并在程序中的其他地方分配(成功)所以我很惊讶它在这里不起作用.

我只是为了便于阅读而展示了该计划的一部分.特别是,我已经删除了对我编写的子程序的调用.我希望我已经为你的程序员提供了足够的信息来帮我解决问题.如果没有,请说明您想要的其他信息,我将很乐意遵守.我已经使用各种编译器选项编译了程序,并修复了一些错误并删除了任何警告.但是,此时,编译器选项不再向我提供任何信息.

allocate(poffvect(1:6))
allocate(phi1out(1:1))
allocate(phi2out(1:1))
allocate(phi1outs1(1:1))
allocate(phi2outs1(1:1))

     dummy allocation
   allocate(phi1outind(1:1))
   allocate(phi2outind(1:1))
   allocate(phi1outinds1(1:1))
   allocate(phi2outinds1(1:1))

   do e = 1, 6
     print *,"e", e
     do f = 1, 3

       print *,"f", f, iteratst1(f), trim(filenumcharimp)

       deallocate(phi1outinds1, STAT = AllocateStatus)
     if (AllocateStatus /= 0) stop "Error during  deallocation of phi1outinds1"
     print *, "Allocatestatus of phi1outinds1 is",  AllocateStatus
     deallocate(phi2outinds1, STAT = AllocateStatus)
    print *, "DeAllocatestatus of phi1outinds2 is", AllocateStatus

     if (AllocateStatus /= 0) stop "Error during deallocation of phi2outinds1"
    print *, "we deallocate f …
Run Code Online (Sandbox Code Playgroud)

fortran memory-management glibc double-free

-5
推荐指数
1
解决办法
1万
查看次数

堆栈内存"泄漏"在C中

考虑以下代码段:

void f() {
    int arr[10];
    arr = malloc(sizeof(int) * 100);
    for (int i = 0 ; i < 100 ; i++) {
        printf("%d ", arr[i]);
    }
    puts("");
    free(arr);
}
Run Code Online (Sandbox Code Playgroud)

arr[10]当函数f返回时,是否会释放原始堆栈内存?(或者这是堆栈内存泄漏?)

c memory-leaks memory-management

-5
推荐指数
1
解决办法
348
查看次数

-5
推荐指数
1
解决办法
131
查看次数

TypeScript中的内存释放

我有一个变量oneDay,我为其分配了一个整数

 var oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds
Run Code Online (Sandbox Code Playgroud)

我在oneDay声明代码的函数终止结束时释放使用以下语法占用的内存.

 var oneDay=null;
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

错误TS2134:后续变量声明必须具有相同的类型.变量'oneDay'必须是'Date'类型,但这里的类型为'null'.

什么可能是解决方案?谢谢

javascript variables jquery memory-management typescript

-6
推荐指数
1
解决办法
2234
查看次数

为什么增加一个指针casuing crash?

我正在学习如何在c ++编程中分配和释放memroy.我尝试增加指针,然后使用delete.它崩溃了!为什么会这样?

int *pint = new int ;
double *pDouble = new double;

*pint = 3;
*pDouble = 3.5; 

pint++;
pDouble++;

delete pint;
delete pDouble;
Run Code Online (Sandbox Code Playgroud)

c++ pointers memory-management

-6
推荐指数
1
解决办法
69
查看次数

C++中动态分配的错误

#include <iostream>
using namespace std;

char *CopyOf(const char *str);

void main(void)
{
    char *hello = CopyOf("Hello\n");
    cout << hello;
    delete [] hello;
    system("pause");
}

char *CopyOf(const char *str)
{
    char *copy = new char(strlen(str) + 1);
    strcpy(copy, str);
    return copy;
}
Run Code Online (Sandbox Code Playgroud)

程序运行到delete语句时发生我的错误.有什么建议吗?非常感谢你.

c++ memory-management

-7
推荐指数
1
解决办法
73
查看次数

为什么可以释放/删除返回的对象,但是不能释放/删除通过参数输入的对象?

据我所知,

int * createArray ( void )
{
     int * arr = (int*)malloc(3*sizeof(int));
     arr[0] = 69; arr[1] = 69; arr[2]; 
     return arr;
}

int main ()
{
    int * myArray = createArray();
    free myArray;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

将释放数组的所有内存{69, 69, 69}在指向的内存地址myArray,但是

void freeArray ( int * A )
{
     free A;
}

int main ()
{
    int * myArray = (int*)malloc(3*sizeof(int));
    myArray[0] = 69; arr[1] = 69; arr[2] = 69; 
    freeArray(myArray);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

不会做同样的事情.这让我感到困惑的原因是因为在这两种情况下你都在处理原始指针的副本,但是从该副本中删除指向的对象仅适用于第一种情况.这似乎是一种不一致,但也许我完全错了.有人可以为我清除这个吗?

c memory-management

-7
推荐指数
1
解决办法
152
查看次数

在运行时分配内存

我想知道如何在不使用和函数的情况下在C或C++中在运行时分配内存块.malloccalloc

c c++ memory-management

-8
推荐指数
1
解决办法
1161
查看次数

在cSharp中新的int []是什么意思?

我在一些c#代码中写了一行代码:

new int[] myStore;
Run Code Online (Sandbox Code Playgroud)

我不知道这意味着什么,但我如何将其转换为有效的C++?

c# c++ arrays heap memory-management

-8
推荐指数
1
解决办法
225
查看次数

这将是什么输出?请也解释一下

#include<stdio.h>
int main(){
int a;
printf("%u\n ",&a); 
printf("%p\n ",a); 
printf("%p\n ",&a); 
printf("%fp\n ",&a); 
return 0;
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试过此代码,但无法理解输出

4193177020
 (nil)
 0x7ffff9eecdbc
 0.000000p
Run Code Online (Sandbox Code Playgroud)

这是什么存储空间地址,哪一部分是偏移量?

c compiler-construction memory-management offset memory-segmentation

-12
推荐指数
1
解决办法
104
查看次数