小编0x6*_*C74的帖子

如何在Windows中运行makefile?

我有一些我下载的演示,它们带有Makefile.win和Makefile.sgi.如何在Windows中运行这些来编译演示?

windows makefile

153
推荐指数
9
解决办法
46万
查看次数

如何创建类似于C++模板类的Java类?

如何在Java中编写相应的内容?

// C++ Code

template< class T >
class SomeClass
{
private:
  T data;

public:
  SomeClass()
  {
  }
  void set(T data_)
  {
    data = data_;
  }
};
Run Code Online (Sandbox Code Playgroud)

c++ java generics

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

XORing"Hello World!" 切断字符串

#include <stdio.h>
#include <string.h>

int main()
{
    char greeting[]="\nHello World!\n";
    int a;

    for(int i=0; i<strlen(greeting); i++)
        greeting[i]^=111;

    for(int i=0; i<strlen(greeting); i++)
        greeting[i]^=111;

    printf("%s\n",greeting);    
    scanf("%d",&a);

}
Run Code Online (Sandbox Code Playgroud)

输出:

Hell
Run Code Online (Sandbox Code Playgroud)

为什么在找到对应于XOR键编号的字母后切掉所有内容(在这种情况下,ASCII为'w')?在数理逻辑,N^N=00^N=N,不是吗?

c c++ xor

19
推荐指数
2
解决办法
1257
查看次数

cmd.exe上的UTF-16

我已经创建了目录"•◘▬¨ŤlCęół♥☺☻0",我想用dir/b命令使其可见.到目前为止,chcp 10000,chcp 10001和chcp 65000(utf-8)命令失败(原始名称显示为"系统无法写入指定设备",或者是空字符串,或者unicode字符被替换/忽略.什么是原因和如何解决?官方文档没有帮助:(

windows unicode cmd

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

构建和部署有什么区别?

Solution Explorer - > Solution'name' - > Properties - > Configuration Properties - > Configuration Manager ...

在此输入图像描述

我认为它与Web /服务器应用程序有关,但它也与纯桌面项目的解决方案共存.所以现在我完全糊涂了.

visual-studio-2010 visual-studio

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

类中具有 getter 和 setter 的无限循环

alert("Hello")

class Dog {

  constructor(name, weight)
  {
    this.name = name;
    this.weight = weight;
  }

  /*
  get name(){
    return this.name;
  }

  set name(value){
    this.name = value;
  }
  */
}

alert("Hello1");

let pies = new Dog("Reksio", 999);

alert("Hello2");
alert(pies.name);
Run Code Online (Sandbox Code Playgroud)

这段代码无需 getter 和 setter 即可完美运行。然而,在取消注释部分后,它奇怪地崩溃了:

Uncaught RangeError: Maximum call stack size exceeded
    at Dog.set name [as name] ((index):44)
    at Dog.set name [as name] ((index):45)
    at Dog.set name [as name] ((index):45)
    at Dog.set name [as name] ((index):45)
    at Dog.set name [as name] ((index):45)
    at …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

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

提取当前的可执行文件名称

首先,我想说我并不是指完整路径,
GetModuleFileName或argv [0]产生的.有没有一个更聪明的解决方案,而不是在最后一次反斜杠之前解雇所有内容?

c++ windows

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

使用PostMessage模拟按键仅在某些应用程序中有效吗?

我对这个问题的解决方法仅在几个程序中才是正确的。为什么它不是通用的?

适用于:

  • 火狐浏览器

  • Visual Studio文字编辑器
  • 不幸的是,在某些情况下什么也没发生(即使我在执行程序之前单击了文本框区域):

  • 谷歌浏览器
  • 记事本
  • 即使使用SendMessage而不是PostMessage,GetLastError始终返回0.您能指出我的错误吗?

    #include <Windows.h>
    #include <iostream>
    
    int main()
    {
        HWND hCurrentWindow;
    
        Sleep(5000);
    
        hCurrentWindow = GetForegroundWindow();
    
        std::cout<<"GO!!!\n";
    
        for(int i=0; i<500; i++) //simulate 500 keystrokes of 'E'.
            {
                PostMessage(hCurrentWindow,WM_KEYDOWN,0x45,NULL);
                PostMessage(hCurrentWindow,WM_KEYUP,0x45,NULL);
            }
    
        std::cout<<GetLastError()<<std::endl;
    
        system("Pause");
        return 0;
    }
    
    Run Code Online (Sandbox Code Playgroud)

    Maximus建议后的更新

    #include <Windows.h>
    #include <iostream>
    
    int main()
    {
        HWND hCurrentWindow;
    
        Sleep(5000);
    
        hCurrentWindow = GetForegroundWindow();
    
        if(!hCurrentWindow)
            std::cout<<"Failed get set the window handle\n";
    
        std::cout<<"GO!!!\n";
    
        for(int i=0; i<500; i++)
            {
                PostMessage(hCurrentWindow,WM_KEYDOWN,0x45,0x45);
                PostMessage(hCurrentWindow,WM_KEYUP,0x45,0x45);
            }
    
        std::cout<<GetLastError()<<std::endl;
    
        system("Pause");
        return 0;
    }
    
    Run Code Online (Sandbox Code Playgroud)

    效果没有差别。

    Rob Kennedy的评论和Hans Passant的回答后的更新 …

    c++ winapi keypress

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

    模拟函数指针

    以下类包含一个应使用回调技术计算积分的方法.

    package integrals;
    
    import java.lang.*;
    
    public class Integrals 
    {
        public static double f1(double x)
        {
            return x*5+Math.sin(x);
        }   
    
        public static double f2(double x)
        {
            return Math.pow(x*f1(-x),x);      
        }        
    
        public static double TrapezoidalIntegration(double a,double b,int n,double (*f)(double))
        {
            double rValue=0;
            double dx;
    
            dx=(b-a)/n;
    
            for(double i=f(a);i<f(b);i+=dx)
                rValue+=((f(i)+f(i+dx))*dx)/2.0;
    
            return rValue;
        }        
    
        public static void main(String[] args) 
        {
    
    
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

    在这种情况下如何进行回调?由于它的复杂性和丑陋性,我宁愿避免使用这种解决方案.即使它是最不痛苦的,我也不知道如何在这里实现它.

    java callback

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

    用于复杂数学表达式的高级标记生成器

    我想标记一个由整数,浮点数,运算符,函数,变量和括号组成的字符串.以下示例应该提亮问题的本质:

    当前状态:

    String infix = 4*x+5.2024*(Log(x,y)^z)-300.12
    
    Run Code Online (Sandbox Code Playgroud)

    期望的状态:

     String tokBuf[0]=4 
     String tokBuf[1]=* 
     String tokBuf[2]=x 
     String tokBuf[3]=+ 
     String tokBuf[4]=5.2024 
     String tokBuf[5]=* 
     String tokBuf[6]=( 
     String tokBuf[7]=Log
     String tokBuf[8]=( 
     String tokBuf[9]=x
     String tokBuf[10]=, 
     String tokBuf[11]=y 
     String tokBuf[12]=) 
     String tokBuf[13]=^ 
     String tokBuf[14]=z 
     String tokBuf[15]=) 
     String tokBuf[16]=- 
     String tokBuf[17]=300.12
    
    Run Code Online (Sandbox Code Playgroud)

    所有提示和解决方案将不胜感激.

    java string tokenize

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