小编k3a*_*k3a的帖子

如何以编程方式获取屏幕DPI(linux,mac)?

我需要知道Linux和Mac OS上的活动屏幕DPI.我认为在linux上xlib可能很有用,但我找不到如何获得当前DPI的方法.我希望这些信息以英寸为单位获得真正的屏幕尺寸.

提前致谢!

linux macos screen dpi

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

在C++模板类问题中键入条件

使用GCC 4.2.我有条件类型的metatemplate:

template <bool condition, typename Then, typename Else>
struct IF
{
    typedef Then RET;
};

template <class Then, class Else>
struct IF<false, Then, Else>
{
    typedef Else RET;
};
Run Code Online (Sandbox Code Playgroud)

当我像这样使用它时:

template <typename T>
class Param
{
    IF< sizeof(int)<sizeof(long), long, int>::RET  i;
};
Run Code Online (Sandbox Code Playgroud)

它工作,但当我像这样使用它(尝试使用模板参数):

template <typename T>
class Param
{
    IF< sizeof(int)<sizeof(long), T&, T* >::RET mParam;
};
Run Code Online (Sandbox Code Playgroud)

我收到此错误代码:

error: type 'IF<false, T&, T*>' is not derived from type 'Param<T>'
Run Code Online (Sandbox Code Playgroud)

为什么会这样?怎么解决?提前致谢!

c++ templates metaprogramming

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

在MariaDB中禁用LOCAL INFILE

在一篇关于保护MySQL的文章中,他们建议禁用LOCAL INFILE,除非我需要它. http://www.greensql.com/content/mysql-security-best-practices-hardening-mysql-tips

我想在MariaDB中做同样的事情但以下配置行似乎在MariaDB中不起作用(以前在Mysql中工作):

set-variable=local-infile=0
Run Code Online (Sandbox Code Playgroud)

有人知道如何禁用它吗?或者它可能没有运行时配置开关,需要使用特定的配置标志进行编译?

mysql security mariadb

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

使用compare比较不同长度的字符串:options:range:产生错误的结果

为什么这种比较会导致NO

BOOL areTheSame = NSOrderedSame == [@"th" compare:@"They" options:NSCaseInsensitiveSearch range:NSMakeRange(0, 2)];
Run Code Online (Sandbox Code Playgroud)

当我测试它时@"th",@"Th"它就是YES.

我在这里错过了什么?

cocoa-touch objective-c string-comparison nsstring

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

Objective-C选择器过载

有些类有一些众所周知的选择器,如UIView层.如果有人为UIView创建子类并为不同的目的声明自己的"图层"选择器,该怎么办?然后是其他一些框架,比如UIKit本身在UIView实例上调用图层.这将在子类上调用"layer"并导致崩溃?

objective-c selector

0
推荐指数
1
解决办法
285
查看次数