小编phu*_*clv的帖子

命令提示符卡住并继续按回车键

当命令提示符正在运行一个进程然后它卡住并且进程也在睡眠时,是否有人遇到过这种情况。然后,当我们Enter在 cmd 窗口中按下键时,该过程将继续。

有什么办法可以避免这种情况吗?或者这可以处理吗??

windows console cmd

13
推荐指数
1
解决办法
8775
查看次数

尝试使用 IIS Express 进行调试时 SSL_ERROR_UNSUPPORTED_VERSION

创建了一个新模板 ASP.Net Core 3.1 MVC Web 应用程序。当我尝试使用 IIS Express 调试它时,我在 Firefox 中收到以下错误:

安全连接失败

连接 localhost:44354 期间发生错误。对等方使用不受支持的安全协议版本。

错误代码:SSL_ERROR_UNSUPPORTED_VERSION

我尝试使用 MMC 删除所有本地主机证书,修复 IIS Express 以安装新证书。当尝试调试时,它要求我信任该证书,我按“是”,但仍然出现此错误。

如果这很重要的话,我使用的是Windows 7。

c# iis ssl firefox asp.net-core

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

单击下拉菜单时,MFC组合框控件未显示完整的项目列表

我在MSVS 2008中编写了一个应用程序,它有一个ComboBox控件,我通过以下代码初始化:

static char*                    OptionString[4] = {"Opt1",
                                                   "Opt2",
                                                   "Opt3",
                                                   "Opt4"};


BOOL CMyAppDlg::OnInitDialog()
{
    CDialog::OnInitDialog();

 // Set the icon for this dialog.  The framework does this automatically
 //  when the application's main window is not a dialog
 SetIcon(m_hIcon, TRUE);   // Set big icon
 SetIcon(m_hIcon, FALSE);  // Set small icon

    // TODO: Add extra initialization here

    m_Option.AddString(OptionString[0]);
    m_Option.AddString(OptionString[1]);
    m_Option.AddString(OptionString[2]);
    m_Option.AddString(OptionString[3]);
    m_Option.SetCurSel(0);

    return TRUE;  // return TRUE  unless you set the focus to a control
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,m_Option是ComboBox控件的Control变量.

现在,当我构建应用程序并单击向下箭头时,下拉框仅显示第一个选项(因为我通过我的代码选择了该选项).但是,如果我按下键盘上的向下箭头键,它会按照我插入的顺序循环选项,但从不在框中显示超过1个选项.因此,如果用户想要选择option3,他必须循环选项1和2 !! 虽然一旦我使用键盘选择任何选项,相应的事件处理程序就会被触发,我对此行为感到恼火,这是可以理解的.

我也列出了组合框控件的属性 …

mfc combobox visual-studio-2008 visual-c++ drop-down-menu

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

`return 0x1;`是什么意思?

当在web上浏览项目的源代码时,我发现returnmain中的一些声明对我来说很奇怪:

int main()
{
    /* ... */
    return 0x1;
}
Run Code Online (Sandbox Code Playgroud)

所以主要是回归0x1 radix 16,但那是1 radix 10!不应该主要回归0

那是不对的,对吗?顺便问一下好吗return 0x0

c hex return return-value

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

使用.bat文件的自定义Tee命令

我正在尝试使用为bat文件编写的tee代码,但在我的代码中实现它时遇到了麻烦.我不想使用任何第三方安装来解决开球问题,因为如果我在一年内格式化我的计算机并希望再次运行该程序,我希望代码能够正常工作.

我以这种方式设置它:

mycommand.exe | tee.bat -a output.txt
Run Code Online (Sandbox Code Playgroud)

我已尝试使用单独的.bat文件并尝试在原始文件中包含作为函数(preffered),但.bat无效:

myprogram.exe | call tee -a output.txt
echo.
echo.
echo.
SET /P restart="Do you want to run again? (1=yes, 2=no): "
if "%restart%"=="1" GOTO LoopStart


::--------------------------------------------------------
::-- Function section starts below here
::--------------------------------------------------------
:tee
:: Check Windows version
IF NOT "%OS%"=="Windows_NT" GOTO Syntax
| 
:: Keep variables local
SETLOCAL

:: Check command line arguments
SET Append=0
IF /I [%1]==[-a] (
    SET Append=1
    SHIFT
)
IF     [%1]==[] GOTO …
Run Code Online (Sandbox Code Playgroud)

windows cmd batch-file

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

有效地计算产品a*b**2*c**3 ....

什么是计算产品的最有效方法

a 1 b 2 c 3 d 4 e 5 ...

假设平方成本大约是乘法的一半?操作数的数量小于100.

是否有一个简单的算法,因为乘法时间与操作数长度的平方成正比(如同java.math.BigInteger)?


第一个(也是唯一的)答案是完美的操作次数.

有趣的是,当应用于相当大BigInteger的时候,这部分根本不重要.即使没有任何优化的情况下计算abbcccddddeeeee也需要大约相同的时间.

大部分时间花在最后的乘法上(BigInteger没有实现像Karatsuba,Toom-Cook或FFT这样的更智能的算法,因此时间是二次的).重要的是确保中间被乘数大约是相同的大小,即给定大小相同的p,q,r,s,计算(pq)(rs)通常比((pq)r)s快.对于几十个操作数,速度比似乎约为1:2.

java math biginteger arbitrary-precision

12
推荐指数
1
解决办法
273
查看次数

addi和add之间的汇编语言(MIPS)差异

我试图理解使用addi和之间的区别add,两者是否做同样的事情?

例如

addi  $t0, $0, $a0
add  $t0 , $0, $a0
Run Code Online (Sandbox Code Playgroud)

assembly mips

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

整数转换(缩小,扩展),未定义的行为

我很难以我能够轻易理解的方式找到关于这个主题的信息,所以我要求对我发现的内容进行审查.这只是关于转换和转换的.


在示例中,我将指的是:

(signed/unsigned) int bigger;
(signed/unsigned) char smaller;
Run Code Online (Sandbox Code Playgroud)
  1. 截断整数.(超大化>小)

    • 首先在MSB截断 以匹配大小.biggersmaller
    • 第二,根据较小的类型截断的结果转换为有符号/无符号.


    如果较大的值太大而不适合较小的类型,则会导致未定义的行为(纠正我).但是我的规则应该是在所有机器上工作(对此也是正确的),结果应该是可预测的.

  2. 加宽整数(小 - >更大)

    a)signed char- >signed int

    • 使用MSB(1或0)进行小写以匹配更大的大小
    • 转换为签名

    b)signed char- >unsigned int

    • 使用MSB(1或0)进行小写以匹配更大的大小.
    • 转换为无符号

    c)unsigned char- >signed int

    • 以0为前缀以匹配更大的尺寸
    • 转换为签名

    d)unsigned char- >unsigned int

    • 以0为前缀以匹配更大的尺寸
    • 转换为无符号

哪些未定义/未指定的行为,我没有提到可以弹出?

c integer type-conversion implicit-conversion

12
推荐指数
1
解决办法
4995
查看次数

对于Java中的整数,为什么-1为零填充右移1 = 2147483647?

对于以下程序:

public class ZeroFillRightShift
{
  public static void main(String args[])
  {
    int x = -1;
    int y = x>>>1;
    System.out.println("x = " + x);
    System.out.println("y = " + y);
  }
Run Code Online (Sandbox Code Playgroud)

我得到如下输出:

x = -1
y = 2147483647
Run Code Online (Sandbox Code Playgroud)

我得到的结果-1>>>1是2147483647.如果它是必须移位的符号位,正如我所知,结果应该是1073741824.为什么它是2147483647呢?

下图更清楚地说明了我的问题:

样本图片

java bit-shift

12
推荐指数
1
解决办法
864
查看次数

std::fabs(a * b) 和 std::fabs(a) * std::fabs(b) 的区别

我正在处理一些数字代码,我正在查看编译器输出。一个特殊的案例让我觉得很奇怪:

在实数中,它成立abs(a) * abs(b) = abs(a * b)。我希望在浮点数中也是如此。但是,优化既不是由 clang 也不是由 g++ 执行的,我想知道我是否遗漏了一些细微的差异。然而,两个编译器都意识到abs(abs(a) * abs(b)) = abs(a) * abs(b).

这是相关的一段代码:

#include<cmath>

double fabsprod1(double a, double b) {
    return std::fabs(a*b);
}
double fabsprod2(double a, double b) {
    return std::fabs(a) * std::fabs(b);
}
double fabsprod3(double a, double b) {
    return std::fabs(std::fabs(a) * std::fabs(b));
}
Run Code Online (Sandbox Code Playgroud)

这是带有 gcc-10.1(撰写本文时的当前稳定版本)和 -O3 的 Godbolt 中令人困惑的编译器输出:https ://godbolt.org/z/ZEFPgF

值得注意的是,即使使用 -Ofast,据我所知,它对允许的转换更为宽松,也不会执行此优化。

正如@Scheff 在评论中指出的那样,double 和 float 不是实数。但我也没有看到带有浮点类型的极端情况,例如将 Infinity 或 NaN 作为参数,可能会产生不同的输出。

c++ x86 g++ compiler-optimization clang++

12
推荐指数
1
解决办法
201
查看次数