小编Oli*_*rth的帖子

如何将Valgrind的输出重定向到文件?

在使用Valgrind工具时,我需要记录valgrind工具生成的详细信息.我怎么能做到这一点?我尝试过类似的东西,

 valgrind a.out | test
Run Code Online (Sandbox Code Playgroud)

 valgrind a.out > test
Run Code Online (Sandbox Code Playgroud)

它只给出了程序的输出而不是valgrind内存错误,泄漏信息.如果程序不需要用户交互(即提供输入),即使我是这样的.如果程序需要用户输入,即使该东西本身也不起作用.

我怎样才能做到这一点?

redirect valgrind

137
推荐指数
4
解决办法
9万
查看次数

何时访问指向"死"对象的指针有效?

首先,澄清一点,我不是在谈论解除引用无效指针!

考虑以下两个例子.

例1

typedef struct { int *p; } T;

T a = { malloc(sizeof(int) };
free(a.p);  // a.p is now indeterminate?
T b = a;    // Access through a non-character type?
Run Code Online (Sandbox Code Playgroud)

例2

void foo(int *p) {}

int *p = malloc(sizeof(int));
free(p);   // p is now indeterminate?
foo(p);    // Access through a non-character type?
Run Code Online (Sandbox Code Playgroud)

以上示例中的任何一个都会调用未定义的行为吗?

上下文

提出这个问题是为了回应这一讨论.建议是,例如,指针参数可以通过x86段寄存器传递给函数,这可能导致硬件异常.

根据C99标准,我们学习以下内容(强调我的):

[3.17] 不确定值 - 未指定的值或陷阱表示

然后:

[6.2.4 p2]当指向的对象到达其生命周期的末尾时,指针的值变得不确定.

然后:

[6.2.6.1 p5]某些对象表示不需要表示对象类型的值.如果对象的存储值具有这样的表示并且由不具有字符类型的左值表达式读取,则行为是未定义的.如果这样的表示是由副作用产生的,该副作用通过不具有字符类型的左值表达式修改对象的全部或任何部分,则行为是未定义的.这种表示称为 …

c pointers undefined-behavior language-lawyer

53
推荐指数
2
解决办法
2546
查看次数

如何从数组中的所有元素修剪空白?

我只是想知道从列表的所有元素中删除空格的最佳方法是什么.

例如,如果我有,我 String [] array = {" String", "Tom Selleck "," Fish "} 怎么能得到所有的元素{"String","Tom Selleck","Fish"}

谢谢!

java arrays string

36
推荐指数
5
解决办法
8万
查看次数

永久性地反转补丁文件

有时,无论出于何种原因,我都必须生成错误方向的补丁文件(在Linux下).我知道我可以通过-R在应用它时使用开关来解决这个问题patch,但是如果有一种永久性地反转补丁文件的方法会很好.是否有可以执行此操作的实用程序,或者例如可以保证有效的正则表达式?

UPDATE

Lie Ryan 提出了一个巧妙的方法.但是,它需要访问原始源文件.所以我想我应该更新我的问题,说明我更多的是在一种方法实现这一点,只给出补丁文件本身.

linux diff patch

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

php - 在echo字符串中插入变量

$i = 1
echo '
<p class="paragraph$i">
</p>
'
++i
Run Code Online (Sandbox Code Playgroud)

尝试将变量插入到回显的字符串中.上面的代码不起作用.如何将php变量迭代到echo字符串中?

php variables echo

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

从活动Kotlin获取额外的字符串

我想从意图中获取另一个活动中的字符串.这是创建我的意图的方法

        val intent = Intent(this, Main2Activity::class.java)
        intent.putExtra("samplename", "abd")
        startActivity(intent)
Run Code Online (Sandbox Code Playgroud)

如何在另一个活动中获得此意图的价值

android kotlin

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

通用OR代替AND <T扩展Number | 为CharSequence>

是否可以通用参数化接受EAEER ClassA或InterfaceB的方法?

由于|不编译 伪代码

public <T extends Number | CharSequence> void orDoer(T someData){ // ... }
Run Code Online (Sandbox Code Playgroud)

即不是写多个方法签名,我希望这个方法接受Number或CharSequence作为参数

应该使用Number或CharSequence参数传递

orDoer(new Integer(6));
int somePrimitive = 4;
orDoer(somePrimitive);
orDoer("a string of chars");
Run Code Online (Sandbox Code Playgroud)

java generics android types charsequence

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

mysql声明变量的语法错误

CREATE PROCEDURE dorepeat(IN p1 INT)
BEGIN
  DECLARE x INT DEFAULT 0;
  REPEAT SET x = x + 1; UNTIL x > p1 END REPEAT;
END
Run Code Online (Sandbox Code Playgroud)

我收到语法错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for > the right syntax to use near '' at line 3

但对我来说,一切似乎都是正确的.我真的没有任何线索!任何人都可以帮忙吗?

谢谢

mysql syntax

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

perl:"//"运算符?

我有一个关于使用"//"运算符的问题,我的测试代码如下:

perl -e '@arr1=();@arr2=(1,2,3);@arr3=defined(@arr1)?@arr1:@arr2;print "[@arr3]\n"' 

[1 2 3] 

perl -e '@arr1=();@arr2=(1,2,3);@arr3=@arr1//@arr2;print "[@arr3]\n"' 

[0] 

perl -e '$v1=();$v2="123";$v3=defined($v1)?$v1:$v2;print "[$v3]\n"' 

[123] 

perl -e '$v1=();$v2="123";$v3=$v1//$v2;print "[$v3]\n"' 

[123]
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么使用"//"运算符给出与在标量上使用"defined()?:"相同的结果,但不是数组(或哈希)?

谢谢!!!

perl

23
推荐指数
2
解决办法
3554
查看次数

如何在Java 7中使用集合文字?

我试过以下一行:

Map<Character, Color> map={new Character('r'):Color.red,new Character('b'):Color.black};
Run Code Online (Sandbox Code Playgroud)

但Netbeans 7拒绝这一点,并显示错误消息'{' expected, ';' expected.

我将Source/Binary格式设置为'JDK 7',将平台设置为'JDK 1.7',还有什么我需要做的吗?

java collections

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