小编pb2*_*b2q的帖子

为什么C变量存储在特定的内存位置?

昨天我接受采访时面试官问我存储变量的存储类.

我的回答是战争:

Local Variables are stored in Stack.       
Register variables are stored in Register
Global & static variables are stored in data segment.  
The memory created dynamically are stored in Heap.
Run Code Online (Sandbox Code Playgroud)

他问我的下一个问题是:他们为什么要存储在那些特定的记忆区域?为什么Local variable 没有存储register(虽然我需要auto在我的程序中经常使用变量)?或者为什么not要存储全局变量或静态变量stack

然后我一无所知.请帮我.

c

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

如何通过命令行在没有外键的情况下转储MySQL文件?

我需要导出一个没有外键的大型数据库.执行此操作的命令是什么?

这是我尝试的但我知道这是不正确的.

mysqldump -u root -p DBNAME SET FOREIGN_KEY_CHECKS = 0; | gzip > database.sql.gzip
Run Code Online (Sandbox Code Playgroud)

mysql mysqldump

6
推荐指数
3
解决办法
2万
查看次数

无法在TFS 2012 RC中使用代码审查功能

我在登记我的文件时尝试使用代码审查功能,但我在团队资源管理器的顶部收到以下消息:

要从同行请求代码审核,请启用新功能.单击此处以启用新功能

当我点击链接时,它会将我带到我的项目个人资料网站,但我没有看到任何选项可以在任何地方激活代码审查功能...

tfs team-explorer tfs2012

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

在使用realloc之前是否需要释放指针变量?

realloc再次使用指针变量之前是否需要释放内存.以下哪项是正确的?

for(i = 0; i < n; i++){
   myArray = (int *)realloc(myArray, i*sizeof(int));
}

for(i = 0; i < n; i++){
   myArray = (int *)realloc(myArray, i*sizeof(int));
   free(myArray);
   myArray = NULL;
}
Run Code Online (Sandbox Code Playgroud)

c malloc pointers memory-management

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

爪哇塔防导弹计算

我正在尝试开发一个小的java 2d塔防游戏,我遇到了试图计算如何做导弹的问题.经过几个小时的搜索和测试,我更加困惑.

到目前为止我所拥有的是:

  1. 4个案例取决于塔所在位置(NW,NE,SW,SE)
  2. 我需要计算当前目标和导弹来自塔的距离Math.sqrt(x2, x1, y2, y1).
  3. 缩放导弹的x和y.

现在我遇到的问题是如何将导弹的增量x和y缩放到目标,这看起来很逼真.数学不是我的强项,而是在这里展示.下面我展示了我对塔楼SE象限的看法.

public int distanceX, distanceY;
public double sep, scale;

if(xBullet < Screen.mobs[shotMob].x && yBullet < Screen.mobs[shotMob].y){
        distanceX = Screen.mobs[shotMob].x- xBullet;
        distanceY = Screen.mobs[shotMob].y - yBullet;
        sep = Math.sqrt( (distanceX * distanceX) + (distanceY * distanceY));
        scale = // This is the part I am confused about.
        xBullet += distanceX * scale;
        yBullet += distanceY * scale;
Run Code Online (Sandbox Code Playgroud)

java math 2d game-physics

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

位掩码的规则是什么?像0xFF vs. 0xFC

我正在制作一个创建程序生成的地牢的游戏,我找到了一个使用位掩码来检索房间号和门类型等内容的例子.

在该示例中,他使用位掩码从每个图块的整数中提取细节.并且整数被这样分解

0xLLSDRRET

L - is the Level Number
S - Denotes a special tile(Like Stairs)
D - is if its a door, and what type(Door, Arch, Trapped)
R - Room number
E - Flags an entrance to a room
T - Names the type of tile(Floor, Cooridor, Blocked)
Run Code Online (Sandbox Code Playgroud)

在这里,他使用一个位掩码来获取,例如,房间号码,如:

int[][] map = new int[40][40] 
int $ROOM_ID = 0x0000FF00;
System.out.println(map[x][y] & $ROOM_ID);
Run Code Online (Sandbox Code Playgroud)

现在有了这个,如果map [x] [y]是例如0x00001200,那么输出将是1200.这部分掩模我明白了.

但在源$ ROOM_ID是ACTUALLY 0x0000FFC0,我不明白C做什么,因为我尝试了不同的值,我似乎无法抓住C做的,例如

0x00001200 output-> 1200
0x00001210 output-> 1200
0x00001220 output-> 1200
0x00001230 output-> 1200 …
Run Code Online (Sandbox Code Playgroud)

java bit-manipulation bitmask bit

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

如何存储recv()的输出?

在CI有工作代码,但不知道为什么它工作,所以我开始重写它,所以我真的可以理解发生了什么.

到现在为止还挺好!我重写了,并且90%确定我理解现在发生的一切; 但问题是,我不知道如何将recv(databff)收到的数据块存储到我预先分配的缓冲区(htmlbff)中.

考虑下面的代码(请注意,我把它剥离了很多,所以它只包括基础知识,例如没有内存重新分配或泄漏保护等...):

#define BUFFERSIZE 4096
#define MAXDATASIZE 256

char *htmlbff, databff[MAXDATASIZE];
int c, i = BUFFERSIZE, q = 0;          
if(!(htmlbff = malloc(i)))
{
    printf("\nError! Memory allocation failed!");
    return 0x00;
}
while((c = recv(sock, databff, MAXDATASIZE, 0)) > 0)
{
     /*memory checks stripped out since they are irrelevent for this post*/
     /*store data to the appropriate area in htmlbff*/
     q += c;           
}
Run Code Online (Sandbox Code Playgroud)

所以(如果我这样做,事情就像我认为的那样)c是当前数据块的大小,并且q是到目前为止接收的数据总量(每次循环重复时q递增c).目前我正在使用q …

c sockets dynamic recv

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

单击按钮,启用或禁用Highcharts中饼图中显示的数据标签

我有一个动态饼图.在单击按钮时dataLables,显示的数据标签 为true时显示数据点,何时为false,应隐藏.

plotOptions: {
    pie: {
        allowPointSelect: false,
        cursor: 'pointer',
        dataLabels: {
            enabled: false
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

highcharts

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

AutoHotKey按键中断循环

使用AutoHotKey,我有一个相当简单的循环脚本,我希望能够通过键的笔划来打破.我尝试了一些来自网站的不同代码,但似乎没有用.

这是代码:

#g::
Loop 20
{
    MouseClick, left,  142,  542
    Sleep, 1000
    MouseClick, left,  138,  567
    Sleep, 1500
    MouseClick, left,  97,  538 
    Sleep, 1000
}
Run Code Online (Sandbox Code Playgroud)

loops autohotkey break

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

Python 将列表拆分为几行代码

我有一个 Python 列表,其中最多包含 50 个元素。为了让我轻松添加/减去元素,我更愿意垂直编码(每个列表元素在一个 Python 代码行上),或者导入一个单独的 CSV 文件?

list_of_elements = ['AA','BB','CC','DD','EE','FF', 'GG']

        for i in list_of_elements:
        more code...
Run Code Online (Sandbox Code Playgroud)

我更喜欢这样的代码:

list_of_elements = 
['AA',
'BB',
'CC',
'DD',
'EE',
'FF', 
'GG']
    
        for i in list_of_elements:
        more code...
Run Code Online (Sandbox Code Playgroud)

只是澄清一下,这不是关于打印,而是关于编码。我需要对 Python 代码中的所有列表元素有更好的视觉概览。

python code-formatting

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