小编fla*_*006的帖子

“启动 Gradle 守护进程”循环创建无限进程

每当我在 Android Studio 中打开或创建一个项目,并且它开始进行后台构建或其他任何事情时,它都会进入“启动 Gradle 守护进程”,但进入一个循环并且永远不会停止重复该步骤。因此,构建永远不会完成,它会不断创建 Gradle 守护进程,直到系统内存不足并冻结。

这是在 Ubuntu 中。它以前确实有效,我不知道发生了什么变化才能使它开始发生。有没有其他人遇到过这个问题并能够解决它?

android gradle android-studio android-gradle-plugin

18
推荐指数
2
解决办法
3980
查看次数

是否有"null"printf代码,不打印任何东西,用于跳过参数?

如果我希望程序有多种文本输出格式,我可以这样做:

const char *fmtDefault = "%u x %s ($%.2f each)\n";
const char *fmtMultiLine = "Qty: %3u\nItem: %s\nPrice per item: $%.2f\n\n";
const char *fmtCSV = "%u,%s,%.2f\n";

const char *fmt;
switch (which_format) {
    case 1: fmt = fmtMultiLine; break;
    case 2: fmt = fmtCSV; break;
    default: fmt = fmtDefault;
}

printf(fmt, quantity, item_description, price);
Run Code Online (Sandbox Code Playgroud)

由于最后指定价格,我还可以添加一个不列出价格的价格:

const char *fmtNoPrices = "%u x %s\n";
Run Code Online (Sandbox Code Playgroud)

但是,如果我想省略数量呢?如果我这样做:

const char *fmtNoQuantity = "The price of %s is $%.2f each.\n";
Run Code Online (Sandbox Code Playgroud)

然后将出现未定义的行为(很可能是段错误)而不是我想要的行为.这是因为它会将第一个参数视为指向字符串的指针,即使它实际上是一个unsigned int.这个unsigned int很可能指向除有效字符串数据之外的其他内容,或者(更有可能,特别是如果您没有购买数亿个相同项目)无效的内存位置,从而导致分段错误.

我想知道的是,如果有一个代码我可以放在某处(%Z在这个例子中)告诉它跳过该参数,如下所示:

const char …
Run Code Online (Sandbox Code Playgroud)

c formatting printf text output

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

有什么方法可以强制Mathematica删除Locked属性?

显然Mathematica能够删除这个属性; 它只是不让我.有没有人知道任何黑客迫使Mathematica做我说的话?

attributes drm wolfram-mathematica

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

当"虚拟"是可选的时,C#中"密封"的目的是什么?

如果一个类没有任何虚方法,我认为继承类的任何方式都不会影响任何未明确引用该实例作为子类实例的代码,即

Subclass obj = new Subclass()
Run Code Online (Sandbox Code Playgroud)

而不是

BaseClass obj = new SubClass()
Run Code Online (Sandbox Code Playgroud)

因此,为什么sealed甚至存在?

如果你没有声明任何东西virtual(我认为在密封类中没有任何意义),它会阻止像(例如)a ListViewItem那样存储一些关于它代表什么的额外信息的代码"知道"该信息是在那里,与重写的方法不同,它对没有用该子类编写的代码没有影响.

c# oop inheritance class sealed

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

在 GDB 中,在非调试二进制文件中的命名空间或类中调用 C++ 函数的正确方法是什么?

call只要符号存在,GDB 的命令通常非常适合调用函数。但是,如果该函数位于命名空间或类中,那么除非使用调试信息对其进行编译,否则它会突然无法工作。

例如,假设我有这个程序:

#include <iostream>

namespace ns {
    void test()
    {
        std::cout << "ns::test" << std::endl;
    }
}

struct cl {
    static void test()
    {
        std::cout << "cl::test" << std::endl;
    }
};

void func()
{
    std::cout << "func" << std::endl;
}

int main()
{
    ns::test();
    cl::test();
    func();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我将其保存为test.cpp,用 编译它g++ test.cpp -o test,然后在 GDB 中启动它:

$ gdb test
GNU gdb (GDB) 11.1
[...]
Reading symbols from test...
(No debugging symbols found in test) …
Run Code Online (Sandbox Code Playgroud)

c++ debugging gdb namespaces

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

为什么首先获得C标准的一部分?

每个C程序员都知道gets除非标准输入连接到可信源,否则无法安全使用.但是为什么C的开发人员在成为C标准的正式部分之前没有注意到这样一个明显的错误?为什么要在C11中将其从标准中删除并用一个执行边界检查的函数替换它?我知道fgets它通常用于它的位置,但这有一个令人讨厌的习惯,就是保持\n最后的状态.

c standards gets deprecated c11

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

有没有人听说过标准Windows消息框的这个奇怪的错误?

几年前,我正在搞乱Visual Basic,我发现了这个MsgBox函数的一个bug .我试着寻找它,但没有人曾经说过这件事.它不仅仅是Visual Basic; 它与任何使用标准Windows MessageBoxAPI调用的东西有关.

当标题文本有多个字符时触发错误,第一个字符是带有变音符号('ÿ')的小写"y".这个角色有什么特别之处?它几乎绝对不是角色本身,而是其特殊的ASCII值.'ÿ'是字符255(0xFF),意味着它是可以存储在无符号字节中的最高值,并且其所有位都设置为1.

这个bug有什么作用?嗯,有两种不同的可能性,这取决于标题文本中的字符数.如果标题文本中有偶数个字符(除非它是2),则不会出现任何消​​息框,您只是听到警报声.如果标题文本中有两个字符,或者除了1之外的任何奇数(在这种情况下不会触发错误)......那么会发生这种情况:

它是

而且这还不是全部 - 消息也将被截断为一行.考虑到使用此API调用的频率,这似乎是至少在一个半高调事件中会发生的那种错误.互联网上有没有这方面的报道,或者有什么可能导致它的原因?也许这是与Unicode相关的故障,就像记事本中的"布什隐藏事实"故障一样?

我做了一个程序,以防你想玩这个; 在这里下载.

或者,将以下内容复制到记事本中,使用.vbs扩展名保存,然后双击它以显示上面显示的对话框:

MsgBox "Windows 3.1 font, anyone?", 0, "ÿ ODD NUMBER!"
Run Code Online (Sandbox Code Playgroud)

或者换一种不同的字体:

MsgBox "I CAN HAS CHEEZBURGER?", 0, "ÿ HImpact"
Run Code Online (Sandbox Code Playgroud)

编辑:似乎如果前四个字符是ÿ,它不会显示消息,即使有奇数个字符.

windows winapi fonts messagebox

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

贝尔曼 - 福特这样的算法,只适用于多个启动,单一目的地?

像Bellman-Ford算法和Dijkstra算法这样的算法用于找到从图上的单个起始顶点到每个其他顶点的最短路径.但是,在我写的程序中,起始顶点的变化比目标顶点的变化频繁得多.有什么算法可以反过来 - 也就是说,给定一个目标顶点,从每个起始顶点找到最短路径?

algorithm graph path-finding graph-algorithm bellman-ford

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

为什么即使 DPMI 主机处于活动状态,INT 31H 也没有正确设置?

我在 MS-DOS 中进行了大量的汇编编程试验。我读过 Windows 3.1 充当 DOS 程序的 DPMI 主机,并且 DPMI 使用中断 31h 进行函数调用。

所以让我们试一试。我在 Windows 3.1 中打开 DOS 提示符...

C:\WINDOWS>debug
-a100
23A4:0100 mov ax,0400
23A4:0103 int 31
23A4:0105
-r
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=23A4  ES=23A4  SS=23A4  CS=23A4  IP=0100   NV UP EI PL NZ NA PO NC
23A4:0100 B80004        MOV     AX,0400
-p

AX=0400  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=23A4  ES=23A4  SS=23A4  CS=23A4  IP=0103   NV UP EI PL NZ NA PO NC
23A4:0103 CD31          INT …
Run Code Online (Sandbox Code Playgroud)

x86 assembly dos real-mode windows-3.1

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

控件对接在 Visual C# 中无法正常工作

这就是我所做的:

  1. 放置一个文本框控件
  2. 将其 Multiline 属性设置为 True,并将其 Dock 属性设置为 Fill
  3. 放置一个 Button 控件(也适用于 ToolStrip,默认情况下停靠在顶部,以及许多其他控件)
  4. 将其 Dock 属性设置为 Top

这是我遇到的问题:

该按钮与文本字段重叠。

文本字段的顶部不应该位于按钮的底部吗?为什么按钮与它重叠?

.net c# docking windows-forms-designer winforms

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