小编Dit*_*iti的帖子

(void)var实际上做了什么?

请考虑以下事项main():

int main(int argc, char *argv[])
{
    return (0);
}
Run Code Online (Sandbox Code Playgroud)

在编译时cc -Wall -Wextra,会生成警告"未使用的参数".

当我不需要在函数中使用参数时(例如在不使用其参数的信号处理函数int),我习惯于执行以下操作:

  int main(int argc, char *argv[])
  {
      (void)argc;
      (void)argv;
      return (0);
  }
Run Code Online (Sandbox Code Playgroud)

(对于特定的main(),我有时看到别人做的:argv = argv - argc + argc)

但是,是什么(void)var真正

我明白这(void)是一个演员,所以我想我正在抛弃变量?什么是var;线(不投)呢?这是一个空任务,一个空表达式?

我想了解实际发生了什么.

c void c89

15
推荐指数
2
解决办法
4669
查看次数

Android Studio无法识别我的设备 - Nexus 6P

我正在努力弄清楚我的设备在Android Studio中无法识别的问题.但是我确实从文件资源管理器中看到了它,可以浏览设备文件.

  • 操作系统:Windows 10
  • 设备:Nexus 6P

是的,我在发布这个问题之前做了一些研究,所以我将列举我尝试的内容:

  • 启用USB调试
  • 从SDK管理器安装了Google USB驱动程序
  • Intalled HiSuite(显然包括一些设备驱动程序)
  • 在MTP/PTP之间切换
  • 多次重启Android Studio
  • 多次重启我的电脑
  • 我电脑的每个USB 2/3端口
  • 尝试从设备管理器更新驱动程序(但它没有提出任何建议)
  • adb kill-server/start-server

任何建议都会受到欢迎!

提前致谢!

adb usb-debugging android-studio windows-10 nexus-6p

15
推荐指数
1
解决办法
2697
查看次数

如何在Eclipse IDE中的Apache Tomcat服务器中部署创建的.jar文件?

__PRE__

Eclipse位于:E:\ eclipse

Web项目位于:E:\ Runtime_Testing\src\study_to_night

Tomcat位于:C:\ apache-tomcat-7.0.54-windows-x64

__PRE__

E:\eclipse

E:\Runtime_Testing\src\study_to_night

C:\apache-tomcat-7.0.54-windows-x64 JAR文件规范页面,E:OneForAll.jar "导出Java源文件和资源"

OneForAll E:OneForAll.jar ; JAR我的.jar文件名称

Error: Invalid or corrupt jarfile 'E:OneForAll.jar' "压缩JAR文件的内容"

E:\eclipse

按照上述步骤,E:\Runtime_Testing\src\study_to_night在指定位置创建可执行文件.只是为了检查是否已经在.jar组件中提取了所有文件,当我选择"Extract files"选项时,所有源文件都是可追踪的.但是,双击它会抛出错误:无效或损坏 jarfile'E:OneForAll.jar'.

C:\apache-tomcat-7.0.54-windows-x64 有什么我错过了吗? E:OneForAll.jar

有人可以指导我完成手动执行此操作的步骤吗?

java eclipse tomcat jar

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

在Android上显示性能良好的巨幅地图?

我是6个月前开始Android开发的"初学者".我对这个话题非常热情,我读过几本书:

这些书使我明白了很多 Android的工作方式.但是现在缺少的是......经验.所以我决定为一个项目做出贡献,该项目的目标是显示一个巨大的地铁地图 - 当然,项目的目标更广泛,但谈论它与这个问题无关.

地图在我的应用程序包中离线存储.

用什么?

  • 谷歌地图无法使用,因为我的应用程序的地图与谷歌地图几乎没有任何关系.
  • 使用简单的ImageView来显示地图是"不可能的",因为不支持缩放,平移等,而且我自己编码远远超出了我的能力.
  • 我发现的唯一不错的解决方法是使用WebView,因为支持缩放和平移.

此外,仅使用一个大图像无法做到这一点:它会导致极端的图像质量损失.

问题是什么

  • 我不能使用单个图像,因为当图片大于1300px时,Android会自动降低质量(参见上面的链接).
  • 我希望以最低2000px的分辨率显示我的地图(xhdpi屏幕在1280px宽的屏幕上显示整个图像,但我希望它们能够进行缩放).
    • 使用多密度图像(你知道,ldpi,mdpi,hdpixhdpi设备的不同版本)是不可能的,只要它们大大增加了APK的文件大小......
  • 通过将我的地图分成5个不同的图块,并且只使用一个图像来显示所有屏幕密度,一切看起来都不错......除了WebView性能很糟糕.

最后一个解决方案的代码

我将我的巨大地图分成5个不同的地图图块,这些图块基本上是横向格式的矩形.我把它们全部(map [1-5] .jpg)和一个HTML文件(map.html)放到./assets/文件夹中.HTML文件的代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Huge map</title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta name="viewport" …
Run Code Online (Sandbox Code Playgroud)

performance android bitmap webview

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

在没有循环的情况下多次打印相同的字符

克拉!
我想"美化"我的一个Dart脚本的输出,如下所示:

-----------------------------------------
OpenPGP signing notes from key `CD42FF00`
-----------------------------------------

<Paragraph>
Run Code Online (Sandbox Code Playgroud)

我想知道在Dart中是否有一种特别简单和/或优化的方式来打印相同的角色x时间.在Python中,print "-" * x会打印-字符x时间.

这个答案中学习,为了这个问题的目的,我编写了以下最小代码,它使用了核心Iterable类:

main() {
  // Obtained with '-'.codeUnitAt(0)
  const int FILLER_CHAR = 45;

  String headerTxt;
  Iterable headerBox;

  headerTxt = 'OpenPGP signing notes from key `CD42FF00`';
  headerBox = new Iterable.generate(headerTxt.length, (e) => FILLER_CHAR);

  print(new String.fromCharCodes(headerBox));
  print(headerTxt);
  print(new String.fromCharCodes(headerBox));
  // ...
}
Run Code Online (Sandbox Code Playgroud)

这给出了预期的输出,但在Dart中有更好的方法来打印字符(或字符串)x次数吗?在我的例子中,我想打印- …

iterable pretty-print dart

9
推荐指数
2
解决办法
878
查看次数

如何在Dart中使用char类型?(打印字母)

我试图通过转换我学校为C编程提供的练习来学习Dart语言.

我们的C池中的第一个练习是编写一个print_alphabet()以小写字母打印字母的函数; 禁止直接打印字母.

在POSIX C中,直接的解决方案是:

#include <unistd.h>

void    print_alphabet(void)
{
    char    c;

    c = 'a';
    while (c <= 'z')
    {
        write(STDOUT_FILENO, &c, 1);
        c++;
    }
}

int     main(void)
{
    print_alphabet();
    return (0);
}
Run Code Online (Sandbox Code Playgroud)

但是,据我所知,当前版本的Dart(1.1.1)没有一种简单的方法来处理字符.我想出的最远的(对于我的第一个版本)是这样的:

void  print_alphabet()
{
  var c = "a".codeUnits.first;
  var i = 0;

  while (++i <= 26)
  {
    print(c.toString());
    c++;
  }
}

void main() {
  print_alphabet();
}
Run Code Online (Sandbox Code Playgroud)

其中每个字符的ASCII值打印一行,每行一个字符串("97"..."122").不是我想要的......

我正在努力寻找一种正确的方法.但是缺少char类似C语言的类型给我带来了一些困难,作为初学者!

c dart

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

用反斜杠分隔行时是否可以使用注释?

我想像这样嵌入评论

ls -l \
-a \
# comment here
-h \
-t . 
Run Code Online (Sandbox Code Playgroud)

但这似乎是不可能的。也许存在其他变体?将评论放在反斜杠之后或以反斜杠结束评论无济于事。

bash shell sh

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

Shebang线在Dart脚本(便携式方式)?

假设我有一个叫做Dart的脚本dart-test.我想分发这个脚本并使其成为用户只需将其放入其中的文件夹中$PATH,并通过键入dart-test其终端从任何地方执行它.

为了这个问题,我们假装我是test我机器上的用户.我在Mac OS X上并使用Homebrew安装了Dart二进制文件.该dart二进制在于/home/test/.brew/bin,是在$ PATH.

因此,以下工作:

$ cat <<HEREDOC > ~/.brew/bin/dart-test
#!/home/test/.brew/bin/dart
main() => print('Dart shebang works!');
HEREDOC

$ chmod u+x ~/.brew/bin/dart-test

$ dart-test
Dart shebang works!
Run Code Online (Sandbox Code Playgroud)

问题是我使用的Dart shebang不可移植,我的脚本不能在我的任何其他计算机上工作.有可行的方法吗?

shebang dart

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