在创建负长度数组时,C中会发生什么?
例如:
int n = -35;
int testArray[n];
for(int i = 0; i < 10; i++)
testArray[i]=i+1;
Run Code Online (Sandbox Code Playgroud)
此代码将编译(并且在启用-Wall时不会显示任何警告),并且您似乎可以testArray[0]
毫无问题地分配.分配过去会产生段错误或非法指令错误,并从数组中读取任何内容称"中止陷阱"(我不熟悉那个).我意识到这有点学术性,并且(希望)永远不会出现在现实生活中,但C标准是否有任何特定的方式来对待这样的数组,或者它是否因编译器而异?
我想从脚本中运行类似以下命令的内容:
lldb -f /path/to/my/file -o command1 -o command2 ... -o detach
Run Code Online (Sandbox Code Playgroud)
有没有办法在执行后退出lldb而不进入交互模式?传入 -o exit 或 -o quit 失败,并显示“正在中止 after_file 命令执行,命令:‘退出’失败。” 在有或没有退出/退出的情况下运行上述命令会使终端处于 lldb 提示符处,这会阻止我仅运行此命令并将输出重定向到磁盘上的某个位置。
这样做的最终目标是在某些事情发生时按需获取我的命令的输出。这个平台上没有 Python 解释器,所以这不是一个选项。有什么建议?
我的Django应用程序中有一个页面需要执行以下操作之一,具体取决于登录用户与页面上显示的组(不是Django用户组;我的应用程序自定义内容)相关的状态:
这样做的一种方法是创建三个模板(一个带有连接链接,一个带有离开链接,一个没有链接),并在视图中选择合适的一个.我觉得有三个不同的模板只会在一行代码中有所不同可能有点过头了,所以我还没有走过那条路.
不能仅使用模板显示条件1和2的正确内容,如果是,我不认为这是可取的.用户到组是多对多关系,确定组成员资格需要将用户传递给组或将组传递给用户.
由于Django模板不允许传递函数参数,我试图通过使用传递上下文变量来解决这个问题get_context_data
.
def get_context_data(self, **kwargs):
context = super(NetworkDetails, self).get_context_data(**kwargs)
user = ???
context['in_group'] = user.in_group(context['group_detail'])
return context
Run Code Online (Sandbox Code Playgroud)
如果我这样做,如何在该方法中获取当前登录的用户?如果那是不可能的,我还可以在模板之外的哪些地方获取该信息?做这样的事情是否有可接受的方法?
谢谢!
为什么用Java System.out.println(-1<<32)
显示-1
?有根本原因吗?我希望有人能解释一下!