小编new*_*int的帖子

如何学习调试?

我是CS的高级专业,我不知道如何进行调试.没有在我的课程中他们教学/显示调试,我的所有课程都是这样的 - 这是项目,在C中编写一个执行XYZ的程序,顺便使用GDB调试器.

目前,我正在学习汇编语言课程,而讲师需要使用GDB调试器,我甚至不知道如何在Visual Studio中进行调试.我们即将完成的所有项目都需要我们使用GDB"破解"可执行文件.

任何关于如何开始/学习调试的建议都将受到高度赞赏.

debugging

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

C中的信号处理

我正在计算信号在C中是如何工作的.这是从旧考试中得到的一个例子:

#include<signal.h>
#include<unistd.h>
#include<stdio.h>
#include<errno.h>

//#include <sys/types.h>

void handler1(int sig) {
 printf("Phantom");
 exit(0);
}
int main()
{
   pid_t pid1;
   signal(SIGUSR1, handler1); //installing signal handler
   if((pid1 = fork()) == 0) { //forking
       printf("Ghost");
       exit(0);
   }
   kill(pid1, SIGUSR1);
   printf("Ninja");
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,海湾合作委员会给了我两个答案Ghost Ninja:Ninja Phantom.它可以生产Ghost Phantom Ninja或由3个名字组成的任何其他组合?

我看到它可能产生3个名字的一种方法是:Fork,在Child中运行,print Ghost,exit(0)=>在Parent中,接受/处理信号,从信号处理程序打印Phantom,杀死子,打印Ninja.但我不确定我的"理论"是否成立.

还有,会kill(pid1, SIGUSR1)调用handler()吗?

谢谢 !

c signals

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

C/C++中两个INT_MAX numbes的错误产品

就我而言,两个INT_MAX数字的乘积296447233是不正确的.

long long int product = 0;
product = 2137483647 * 2137483647;
printf("product: %lli\n", product);
Run Code Online (Sandbox Code Playgroud)

我做错了什么,以及如何纠正它?谢谢 !

c c++ printf overflow multiplication

5
推荐指数
2
解决办法
480
查看次数

为什么StackPanel不会垂直伸展它的孩子?

(WPF新手)我正在查看WPF示例:

<Window x:Class="Attempt_XAML.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <StackPanel>
        <Label HorizontalAlignment="Center">A Button Stack</Label>
        <Button HorizontalAlignment="Left">Button 1</Button>
        <Button HorizontalAlignment="Right">Button 2</Button>
        <Button Background="#FFA29494">Button 3</Button>
        <Button>Button 4</Button>
    </StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

MS中的备注说明:

对于StackPanel中包含的内容的Horizo​​ntalAlignment和VerticalAlignment,默认值为stretch.

但是,结果看起来与我期望的不同.Button并且Label没有垂直伸展,而只是水平伸展(即它们不会填满Window两个方向的整个空间)为什么?

.net c# wpf

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

如何在RxJava Vert.x中结束链接的http请求?

如何在Rx Vert.X中结束链接请求?

 HttpClient client = Vertx.vertx().createHttpClient();
        HttpClientRequest request = client.request(HttpMethod.POST,
                "someURL")
                .putHeader("content-type", "application/x-www-form-urlencoded")
                .putHeader("content-length", Integer.toString(jsonData.length())).write(jsonData);
        request.toObservable().
                //flatmap HttpClientResponse -> Observable<Buffer>
                        flatMap(httpClientResponse -> { //something
                    return httpClientResponse.toObservable();
                }).
                        map(buffer -> {return buffer.toString()}).
                //flatmap data -> Observable<HttpClientResponse>
                        flatMap(postData -> client.request(HttpMethod.POST,
                        someURL")
                        .putHeader("content-type", "application/x-www-form-urlencoded")
                        .putHeader("content-length", Integer.toString(postData.length())).write(postData).toObservable()).
                //flatmap HttpClientResponse -> Observable<Buffer>
                        flatMap(httpClientResponse -> {
                    return httpClientResponse.toObservable();
                })......//other operators
request.end();
Run Code Online (Sandbox Code Playgroud)

请注意我有.end()对于最高要求.我如何结束内部的请求.flatmap?我甚至需要结束它吗?

java reactive-programming vert.x rx-java

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

为什么不用fork()分割的进程通过这个函数进行相同的操作?

我对C/C++中的fork()函数感到困惑.给出以下代码:

void fork2()
{
    printf("LO\n");
    fork()
    printf("L1\n");
    fork();
    printf("Bye!\n");
}
Run Code Online (Sandbox Code Playgroud)

讲座幻灯片给出了下图

         ______Bye
   ___L1|______Bye
  |      ______Bye
L0|___L1|______Bye
Run Code Online (Sandbox Code Playgroud)

对我来说,这个图没有任何意义.我希望每次调用fork都会导致调用printf("LO\n").还是我错了?

c c++

4
推荐指数
4
解决办法
1587
查看次数

为什么O(N Log N)构建二进制搜索树?

准备考试.这不是功课问题.

我认为最坏的情况是O(N ^ 2)来构建BST.(每次插入req N-1比较,你总和所有的比较0 + 1 + ... + N-1~N ^ 2).这是倾斜的BST的情况.

(平衡)BST的插入是O(log N),那么为什么最好的情况是O(N logN)来构造树?

我猜最好的猜测 - 因为单个插入是log N,而不是总结所有插入以某种方式给我们N log.

谢谢 !

binary-tree

4
推荐指数
1
解决办法
6556
查看次数

VHDL中`std_logic`枚举类型的目的是什么?

std_logic枚举类型的目的是什么?

'U': uninitialized. This signal hasn't been set yet.
'X': unknown. Impossible to determine this value/result.
'0': logic 0
'1': logic 1
'Z': High Impedance
'W': Weak signal, can't tell if it should be 0 or 1.
'L': Weak signal that should probably go to 0
'H': Weak signal that should probably go to 1
'-': Don't care. 
Run Code Online (Sandbox Code Playgroud)

vhdl digital

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

在不使用本机C++的QT或.NET的情况下构建简单的GUI?

是否有任何平台可以构建GUI平台而无需使用本机C++来使用QT或.NET?

QT很酷,但是花了很多时间学习,此外它还有很多我不需要的东西,并且真的不喜欢QT IDE,与Visual Studio相比(我知道你可以在Visual Studio中使用QT)

.NET遇到了同样的问题(我现在正在学习C#和WPF,虽然看起来WPF更容易编程,你可以从WPF调用本机C++代码)

我正在寻找的东西是:相对容易学习,不必具有高级功能,适用于C++ 11,支持C++ 11多线程,适用于Visual Studio.计划构建一些数值分析应用程序.

c++ user-interface c++11

4
推荐指数
1
解决办法
5380
查看次数

Fork()子句中的变量值

我已经问了一个关于fork()的问题,这是另一个问题.给出以下代码:

#include <unistd.h>
#include <stdio.h>

int main()
{
    pid_t pid1, pid2;
    pid1 = fork();
    pid2 = fork();
    if (pid1 != 0 && pid2 != 0)
        printf("A\n");
    if (pid1 != 0 || pid2 != 0)
        printf("B\n");
    exit(0);
}
Run Code Online (Sandbox Code Playgroud)

在第二个之后fork(),pid1&的价值是pid2什么?
据了解,第一个fork设置pid1 > 0并且在以后创建的所有子项中都是相同的.然而,会发生什么pid2

谢谢 !

c c++ unix

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