小编raj*_*jat的帖子

将CMake项目导入Eclipse CDT

我有一个原生的CMake项目,我想使用Eclipse IDE,以便通过提供自动完成和其他功能使我的开发更容易.我似乎无法找到如何在Eclipse中导入CMake项目.

PS:我愿意接受其他适用于CMake的IDE的建议.

eclipse linux cmake

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

使用NSIS复制目录.

我似乎无法找到有关如何使用NSIS复制目录的任何信息?我知道有一个文件命令但是有任何复制目录的命令.

windows installer nsis

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

如何从wpf应用程序动态打开/关闭控制台窗口?

我正在制作一个WPF应用程序,我想发布一个测试版的应用程序,因为我正在添加一个Button名为"debug",它实际上将显示/隐藏控制台窗口.每次事件发生后我都会在控制台上写相应的消息,这样可以帮助用户通过查看控制台上的消息来报告他们遇到的问题.

对不起背景故事(如果没用).我基本上需要知道如何在c#中动态显示/隐藏控制台窗口.

c# wpf

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

C++中的Catch Segmentation故障

try-catch块是否会捕获分段错误错误?

我正在使用下面给出的函数读取文本文件,但有时文件为空,程序崩溃.我希望程序继续运行,并在此文件为空或正在使用时提供另一个文件.

Path2D read_gesture(const char* filename)
{
    Path2D path;
    //MultiStrokeGesture MultiStrokes;

    vector<string> text_file;

    int no_of_paths=0;
    std::ifstream ifs(filename);

    for (std::string line; std::getline(ifs, line); )
    {
        no_of_paths=no_of_paths+1;
        double a, b;
        stringstream ss(line);
        if (!(ss >> a >> b)) {cout<<"wrong format"<<endl;}
        std::cout << "You said, " << a << ", " << b << ".\n";
        path.push_back(Point2D(a,b));

    }
    cout<<"saving gesture"<<endl;
    return path;


}
Run Code Online (Sandbox Code Playgroud)

我尝试过类似的东西:

Path2D path;
try 
{
    path=read_gesture("test.txt");
}
catch(int e)
{
    path=read_gesture("test2.txt");
}
Run Code Online (Sandbox Code Playgroud)

但程序仍然崩溃.问题可能是什么?

  • 稍微纠正一下,调用的文件与输入的文件catch不一样try,这是一个错字.

c++ crash segmentation-fault

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

将Windows窗体嵌入到WPF应用程序中

我有一个旧的Windows窗体应用程序,我不想将其转换为Wpf,我想将其嵌入我的wpf应用程序主窗口.我怎样才能做到这一点 ?.

另外,如何使用WindowsFormHost在wpf和嵌入式WinForm之间传输文本?

c# wpf winforms

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

随机的高内容下载时间?

我们有一个随机需要花费大量content download时间在Chrome上的API ,它在firefox中运行良好并且只需要少量ms.响应大小为20kb未压缩和4kb压缩.使用curl,同样的请求也可以正常工作.

我们尝试过的事情:

  1. 禁用If-None-Match标头以禁用浏览器的缓存响应.
  2. 尝试各种按压(gzip,deflate,br).
  3. 禁用压缩.
  4. 禁用所有Chrome扩展程序.

相同的请求有时在chrome上工作正常但随机返回非常高的内容下载时间.

我们无法理解此问题的根本原因.我们可以尝试最小化这个时间的其他事情是什么?

Chrome网络标签

我在这里提出了三个请求,第三个请求占用了最多(在最后一个峰值之前).CPU似乎没有在更长的时间内达到最大化.大部分时间都是空闲时间.

性能图铬

此外,使用Replay XHR菜单重播呼叫时,内容下载时间从2秒降至200毫秒.

api api-design google-chrome nginx

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

如何在linux中读取低级鼠标点击位置.

我正在使用此代码从linux中的dev/input/event*中读取鼠标事件.

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

#include <linux/input.h>
#include <fcntl.h>

#define MOUSEFILE "/dev/input/event4"

int main()
{
    int fd;
    struct input_event ie;

    if((fd = open(MOUSEFILE, O_RDONLY)) == -1) {
        perror("opening device");
        exit(EXIT_FAILURE);
    }

    while(read(fd, &ie, sizeof(struct input_event))) {
        printf("time %ld.%06ld\ttype %d\tcode %d\tvalue %d\n",
               ie.time.tv_sec, ie.time.tv_usec, ie.type, ie.code, ie.value);

}
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它以下列格式给出了结果:

时间1342517261.840285类型2代码0值-1

'time'是时间戳,它返回事件发生的时间.

'code'是事件代码,例如REL_X或KEY_BACKSPACE,完整列表在include/linux/input.h中.

'价值'是事件带来的价值.EV_REL的相对变化,EV_ABS的绝对新值(操纵杆......),或EV_KEY的释放为0,按键为1,自动重复为2.

当我点击,我得到的事件,但我没有得到鼠标在屏幕上的位置,什么是获得鼠标在屏幕上的位置.


编辑1:因为事实证明我必须使用相对坐标来获得鼠标坐标.我相信这是一个常见的要求,因此可能会有库/预先存在的代码可用于获取坐标.有关此主题的任何信息都非常有用.


Edit2:解决方案

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

#include <linux/input.h>
#include <fcntl.h>
#include <X11/Xlib.h>

#define MOUSEFILE "/dev/input/event4"

int main()
{
  int fd; …
Run Code Online (Sandbox Code Playgroud)

c++ linux mouse

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

将.so和.a库添加到Makefile

我有一个看起来像这样的makefile.

DEFINES=-std=c++0x
INCS_GTK=-I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gtk-2.0/gdk -I/usr/include/pango-1.0 -I/usr/lib/gtk-2.0/include -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include
INCS=-I/usr/include/freetype2 -I/usr/include/mysql -Iframeworks ${INCS_GTK}
LDLIBS=-lconfig++ -lcxcore -lcv -lGL -lGLU -lglut -lhighgui -lSDL -lftgl -lueye_api -lboost_filesystem -lboost_system -lann -lpthread -lflycapture -lglog -lmysqlpp -lmysqlclient -lunittest++
DEBUG=-g -pg
WARNINGS=-Wall -Wextra -pedantic -Wno-long-long #-O3 -Weffc++
BUILDDIR=build
BINDIR=dist

MAINCXX=${shell find -name '*.cxx'}
TARGETS=${MAINCXX:%.cxx=%}
CXXFLAGS=${DEBUG} ${WARNINGS} ${DEFINES} ${INCS}
LDFLAGS=${DEBUG} ${WARNINGS} ${DEFINES}
include IDEconfigs/Makefile/generic.mk
Run Code Online (Sandbox Code Playgroud)

我想将以下静态库路径添加到makefile中.

/usr/local/lib/libYARP_OS.a  /usr/local/lib/libYARP_sig.a  /usr/local/lib/libYARP_math.a  /usr/local/lib/libYARP_dev.a  /usr/local/lib/libYARP_name.a  /usr/local/lib/libYARP_init.a
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢

c++ makefile static-libraries

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

Django默认缓存

我正在导入并使用缓存作为:

from django.core.cache import cache
cache.add('a','b',60)
Run Code Online (Sandbox Code Playgroud)

我还没有在settings.py中为缓存定义任何设置,然后这个缓存来自何处以及存储在何处.

Django文档说:"这个对象相当于缓存['default']",但默认是什么?

python django caching

8
推荐指数
2
解决办法
2971
查看次数

Amazon EMR上的Hbase通过Thrift连接超时

我使用TThreadPoolServerThrift服务器写HBase ,我有最大工作线程的以下HBase设置:

HBase的-site.xml中

<property>
   <name>hbase.thrift.maxWorkerThreads</name>
   <value>50000</value>
   <source>hbase-site.xml</source>
</property>
Run Code Online (Sandbox Code Playgroud)

这是我用来执行并发写入的脚本:

test.py

import happybase
from random import randint

connection = happybase.Connection('ec2-xx-xx-xx-xx.compute-1.amazonaws.com', timeout=50000)
table_name = 'test' + str(randint(0,1000000))

families = {
    'cf1': dict(max_versions=1),
}
connection.create_table(table_name, families)
table = connection.table(name=table_name)
x = 0
while x < 1000000:
    table.put('row-key' + str(x), {b'cf1:qual1': b'testtesttest', b'cf1:qual2': b'testestest'})
    x += 1
Run Code Online (Sandbox Code Playgroud)

现在如果我同时运行25个test.py实例,在创建18-20个连接之后,由于超时错误,所有其他连接都无法连接,我检查了hbase服务器,thrift只能创建300个线程,当该限制是到达新的连接不被接受并且超时.

即使有300个线程,系统也没有压力,CPU和内存消耗非常低,因此我认为这是因为某些配置.

有人可以指导我为什么thrift没有创建更多的线程,在我的HBase配置中,thrift最大线程数是多少?

hbase thrift amazon-emr

8
推荐指数
0
解决办法
378
查看次数