作者归档:s

界面初探

  • 为什么要单击”开始”按钮来关机
    • 总揽”开始”和”结束”的入口
  • 为什么没有”专家模式”
    • 无法量化,没有办法区分哪些选项属于”专家”
  • 对话框的默认按钮是取消
    • 用户总是尽可能的去忽略这些对话框
  • 最好的设置是:及时你没有意识到这些设置的存在,但它们依然安装你所期望的方式在工作
  • 问用户无法回答的问题,是为了显示你的超群智慧吗?
  • 为什么安装程序不会问你是否希望保留操作系统文件的新版本?
    • 用户的专业度不足以回答此类问题
  • 功能设计的思考
    • ?
  • 什么时候应该禁止选项,而什么时候又该删除选项
    • 实验已经证明:当一个选项被显示出来并且处于禁止状态时,那么用户就会觉得只要他进行足够多的操作,这个选项就会被激活
  • 什么时候应该将“…”放在按或者菜单项的后面
    • 只有当某个命令需要额外的信息来执行时,才应该使用省略号。如(About)虽然是弹出对话框,但其本身就是结果,是不需要显示省略号的。
    • 参考:《Windows User Interface Design Specification And Guidelines》
  • 自动售货机的用户界面设计

visual studio 2019 远程调试 linux gtk程序

本文环境:linuxmint 20.1 + vs community 2019 版本 16.9.5

  1. 确认linuxmint ssh运行状态
    • 如未运行:在终端中执行 sudo service ssh start
  2. 确认kernel.yama.ptrace_scope = 0
    • 如未指定ptrace_scope = 0,vs远程附加进程时,会提示权限错误。详询搜索引擎
    • 更改方法:sudo gedit /etc/sysctl.d/10-ptrace.conf
  3. 在linuxmint中运行进程
  4. 在vs2019中选择“调试”→“附加到进程”
  5. 此时,在linuxmint中的操作,可以在vs2019里中断

visual studio 2019 进行linux开发

一、部署linux环境

  1. 本文使用linuxmint 20.1 + vmware 15.5
  2. 安装必要程序
    • 终端中执行:sudo apt-get install gcc && cmake && ssh && gdb
  3. 运行SSH:
    • 终端中执行:sudo service ssh start
    • 获取linuxIP:ifconfig -a

二、配置vs2019

  1. 工具→选项→跨平台→连接管理器→添加
  2. 填写登录linuxmint的必要信息
  3. 连接→确定 返回vs2019

三、用vs2019新建linux程序,添加测试代码

新建一个目录src, 在src下新建一个main.cpp

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

int main()
{
    printf("shan.\n");
    return 0;
}

四、编写CMakeLists.txt

cmake_minimum_required(VERSION 3.4.0)

project(project4 VERSION 1.0.0)

set(CMAKE_BUILD_TYPE DEBUG)
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -ggdb")

add_executable(project4 src/main.cpp)

五、设置生成选项

  1. 生成命令行:cd build && cmake cmake .. && make
  2. 重新生成命令行:rm ./build -rf && mkdir build && cd build && cmake .. && make
  3. 清除命令行:rm ./build -rf

六、生成 & 调试

VS菜单→生成→生成解决方案(F6)

已启动生成…
1>------ 已启动生成: 项目: Project4linux, 配置: Debug x64 ------
1>正在验证源
1>正在将源远程复制到“192.168.27.131”
1>生成命令未配置,正在跳过。
1>正在调用“cd build && cmake cmake .. && make”,工作目录:“/home/a/projects/Project4linux/”
1>-- Configuring done
1>-- Generating done
1>-- Build files have been written to: /home/a/projects/Project4linux/build
1>Scanning dependencies of target project4
1>[ 50%] Building CXX object CMakeFiles/project4.dir/src/main.cpp.o
1>[100%] Linking CXX executable project4
1>[100%] Built target project4
========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========

VS菜单→调试→开始调试(F5)