小编Yan*_*Xie的帖子

如何重命名git存储库?

git mv重命名存储库中的文件或目录.如何重命名git存储库本身?

git

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

CMake中的函数与宏

CMake 2.8.12的官方文件说明了这一点macro

调用它时,首先通过用传递的参数替换形式参数($ {arg1})来修改宏中记录的命令,然后作为普通命令调用.

而且 function

调用它时,首先通过用传递的参数替换形式参数($ {arg1})来修改函数中记录的命令,然后将其作为普通命令调用.

显然,两个引号几乎相同但令我困惑.在像宏一样调用函数时,首先替换参数吗?

cmake

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

最佳实践 - 记录事件(常规)和更改(数据库)

需要帮助记录站点上的所有活动以及数据库更改.

要求:

  • 应该在数据库中
  • 应该可以通过发起者(用户名/会话ID),事件(活动类型)和事件参数轻松搜索

我能想到的一个数据库设计的,但无论是它涉及到很多表(每个事件之一),所以我可以记录每一个事件的参数,在一个单独的字段或它涉及到一个表,通用字段(7 INT数字和7文本使用事件类型字段确定哪个参数写入哪里(并希望我不需要超过7个特定类型的字段,或8或9或我选择的任何数字)...

条目的例子(通常的事情):

[username] login failed @datetime
[username] login successful @datetime
[username] changed password @datetime, estimated security of password [low/ok/high/perfect]  @datetime
[username] clicked result [result number] [result id] after searching for [search string] and got [number of results] @datetime
[username] clicked result [result number] [result id] after searching for [search string] and got [number of results]  @datetime
[username] changed profile name from [old name] to [new name]  @datetime
[username] verified name with  [credit card …
Run Code Online (Sandbox Code Playgroud)

events logging database-design

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

anaconda python:无法找到或加载Qt平台插件"xcb"

在我的操作系统(Linux Mint Debian Edition 2)上,除了apt安装的系统python(/ usr/bin/python)之外,我还安装了anaconda.但是我遇到了使用anaconda python 运行以下代码的问题

# test.py
import matplotlib.pyplot as plt
import numpy as np
x = np.array([0, 1])
plt.scatter(x, x)
plt.show()
Run Code Online (Sandbox Code Playgroud)

错误是

此应用程序无法启动,因为它无法找到或加载Qt平台插件"xcb".

重新安装应用程序可能会解决此问题.

中止

但是,如果我尝试使用系统python,即/usr/bin/python test.py它可以正常工作.

然后我尝试了系统和anaconda的ipythons,结果和以前一样:anaconda ipython内核死了.

我尝试将ipython魔法添加%matplotlib inline到代码中,anaconda ipython现在正常工作.但是,如果我替换%matplotlib inline%pylab,蟒蛇再次的IPython死亡.

注意:我使用的是python 2.7.系统ipython的版本是2.3,anaconda ipython的版本是3.2.

python linux matplotlib ipython anaconda

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

如何设置CMAKE_AR的选项

我用cmake进行交叉编译,一切正常,但是CMAKE_AR选项.

set(CMAKE_AR ${GCC_PATH}/dld)用来设置CMAKE_AR.但我不知道如何设置它的选择.默认情况下,它使用选项rc创建存档.但我需要改变它-X -r5 -o.当使用rc时,它会投诉文件rc无法找到.

怎么解决?

cmake

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

我可以编辑UIImage属性CGImage的像素

UIImage有一个只读属性CGImage.我必须将其像素读取到内存块并编辑它们,然后创建一个新的UIImage来替换旧的UIImage.我想知道是否有办法绕过只读属性并直接编辑这些像素.

谢谢.


谢谢大家.我找到了一种方法.用这些方法写一个类:

-(void)preProcess:(UIImage*)srcImage {
    m_Context = ...// Created by calling CGBitmapContextCreate(...)
    ...
    CGContextDrawImage(m_Context, rect, srcImage.CGImage);
    m_Bits = (unsigned char*)CGBitmapContextGetData (mContext);
}

-(void)postProcess {
    CGContextRelease(m_Context);
    free(m_Bits);
}

-(UIImage*)doProcess:(CGPoint)pt {// just a example 
    unsigned char* ppxl = m_Bits + ...
    // do something...
    CGImageRef imRef = CGBitmapContextCreateImage(mContext);
    return [UIImage imageWithCGImage:imRef];
}
Run Code Online (Sandbox Code Playgroud)

preProcess和postProcess只调用一次.

iphone cocoa cocoa-touch core-graphics uikit

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

GCC选项的-shared和-Wl,-shared之间的区别

我知道-Wl,-sharedld的一个选项.我见过有人像这样编译,

$ gcc -shared -Wl,-soname,libtest.so -o libtest.so *.o
Run Code Online (Sandbox Code Playgroud)

有些人喜欢这样

$ gcc -Wl,-shared -Wl,-soname,libtest.so -o libtest.so *.o
Run Code Online (Sandbox Code Playgroud)

所以,我想知道-shared和之间是否存在一些差异-Wl,-shared.

谢谢.

unix linux linker gcc shared-libraries

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

在Linux上放置/查找调试库的位置?

Windows上,调试库的名称有一个d作为后缀.但我不知道Linux上是否有规则.

我知道Debian上有一些dbg包.例如,libjpeg62-dbg包的库放在.将调试版本库放入标准规则是什么?/usr/lib/debug/usr/lib/libjpeg.so.62.0.0/usr/lib/debug

和更多.例如,如果我运行pkg-config --libs opencv它将返回GCC链接选项给我,如:

-L/usr/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann
Run Code Online (Sandbox Code Playgroud)

这很好.但我没有找到一个选项pkg-config可以返回那些调试版本库的链接选项,例如:

-L/usr/lib/debug -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann
Run Code Online (Sandbox Code Playgroud)

如果有关于调试版本库的标准规则,为什么pkg-config没有选项返回调试版本的选项?

所以,我想知道:

  1. 是否有一个标准目录来放置调试库?
  2. 是否有一些命令或选项来处理调试库pkg-config --libs
  3. 如果以上两个答案都没有,你如何处理问题?

谢谢.

linux shared-libraries

10
推荐指数
1
解决办法
2587
查看次数

我是否需要在Google BigQuery中手动创建表格以查看来自Firebase的原始事件数据?

我创建了一个支持Google Firebase的Android应用程序,并且昨天与BigQuery相关联.

今天我在Firebase控制台上看到了活动报告,但在我点击了活动页面中的查看按钮之后,如下图所示

在此输入图像描述

我在BigQuery页面中没有看到任何表,并得到一个警告,说该项目的表正在解雇.

我想知道我是否需要做一些事情,比如手动创建一些表或在我的应用程序中调用一些Firebase或BigQuery API.但我已经抬头的正式文件,其说

将应用程序链接到BigQuery后,将在第一次每日导出事件时在关联的BigQuery项目中创建相应的数据集.每天,每个链接应用程序的原始事件数据都会在关联数据集中填充新表.

看来我什么都不做.那么这里的问题是什么?

firebase google-bigquery firebase-analytics

9
推荐指数
1
解决办法
1724
查看次数

返回本地实例时未调用析构函数

可能重复:
为什么析构函数没有从函数中调用返回的对象?

我写了一些C++代码(下面),用GCC 4.6编译它并成功运行.但是我不知道为什么classA在返回时没有调用析构函数createA().

既然ca是一个局部变量createA()(即在堆栈上),我认为从函数返回时应该调用它的析构函数.但事实上,析构函数只在从main函数返回时被调用一次.

此外,返回本地实例总是在此测试中正常工作.我想知道在返回后弹出帧时是否可以安全地返回堆栈帧上的本地实例.

这是我的代码:

#include <iostream>
#include <string.h>

class classA
{
public:
    classA() { len = 0; v = 0; }

    classA(int a)
    {
        len = a;
        v = new int[a];
        for (int i = 0; i < a; i++)
            v[i] = 2*i;
    }

    ~classA()
    {
        if (v)
            {
            memset(v, 0, len * sizeof(int));
            delete [] v;
        }
    }

    int *v;
    int len;
};

classA createA(int a) …
Run Code Online (Sandbox Code Playgroud)

c++ destructor return

8
推荐指数
1
解决办法
793
查看次数