VS2008中 项目--属性--设置属性--常规--字符集选择""Unicode"有啥用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS2008中 项目--属性--设置属性--常规--字符集选择""Unicode"有啥用?相关的知识,希望对你有一定的参考价值。

就是我在VC6.0中使用 CComboBox*comboBox1=(CComboBox*)GetDlgItem(IDC_COMBO1);
comboBox1->AddString("男");
comboBox1->AddString("女");方法都没有错;
但是在VS2008中使用他就说:错误 1 error C2664: “CComboBox::AddString”: 不能将参数 1 从“const char [3]”转换为“LPCTSTR”
但是该了一下VS2008中 项目--属性--设置属性--常规--字符集选择:未配置 就可以了不出错了,这是为什么呢?还有就是不修改这个设置就必须comboBox1->AddString("女");改为comboBox1->AddString(TEXT("女")); 这里的TEXT起个什么作用为什么要这么改写? VS中格式和VC++有哪些不同?回答满意还可以加分哦!求解!!!

fts瘼χㄖ╃cv∶咋uv∶咋k纭y瑙y瑙首先告诉你VC4根本就不l支r持UNICODE,如果支j持的话,我们就不l会用char了e都改用wchar_t了n,如果是用的是VS5008及m更高版本,在项目--属性--常规,去掉支i持UNICODE 不c错,你可以3试下d。 参考技术A 原因是vc6是ascii .net是unicode 有些APi要在后面加个A

VS2017编写汇编函数并调用

先在VS里面创建个空项目,然后添加汇编文件 .asm,    右键asm文件属性  --- 常规,改成下图的设置  , 从生成中排除改为否, 项类型改为自定义生成工具 然后点确定。

 

技术图片

 

 再次右键asm文件属性, 配置属性 ---自定义生成工具  --- 常规  :在命令行中写入: ml /c /coff %(fileName).asm    

 输出:%(fileName).obj;%(OutPuts)     然后点确定就可以正常运行了

 

      

 

技术图片

 

 

 

.asm  汇编代码

 1 ;测试函数   三个数相加  
 2 ;.386
 3 .model flat, c
 4 ;public test_
 5 .code    
 6 
 7 test_ proc
 8 
 9 ;初始化栈帧指针
10     push ebp
11     mov ebp,esp
12     push     ebx
13 
14  
15     ;确保除数不为0
16     xor eax,eax
17 
18     ;加载参数值
19     mov ecx,[ebp+8]  ;ecx = a
20     mov edx,[ebp+12]  ;edx = b
21     or edx,edx
22     jz test1_  ;诺b为0 则跳转
23 
24     ;计算积并保存
25     imul    edx,ecx
26     mov    ebx,[ebp+16]
27     mov    [ebx],edx
28 
29     ;计算商和余数 ,并保存结构
30     mov eax,ecx
31     cdq
32     idiv dword ptr [ebp+12]
33 
34     mov ebx,[ebp+20]
35     mov [ebx],eax
36     mov    ebx,[ebp+24]
37     mov    [ebx],edx    
38     mov    eax    ,1
39 
40 test1_: 
41 
42 pop ebx
43 pop ebp
44 ret    
45 test_ endp    
46 
47 end

.cpp 代码

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 using namespace std;
 4 extern "C" int test_(int a, int b, int* prod , int * quo ,int * rem);
 5 
 6 int main()
 7 {
 8     int a = 21, b = 9;
 9     int prod = 0, qro = 0, rem = 0;
10     int rc;
11 
12     rc = test_(a, b, &prod, &qro, &rem);
13 
14     printf("Input1  -  a:     %4d    b:     %4d 
", a, b);
15     printf("Output1 - rc:     %4d   prod:   %4d
", rc, prod);
16     printf("         qro:     %4d    rem:   %4d 
", qro, rem);
17     
18     a = -29;
19     prod = qro = rem = 0;
20     rc = test_(a, b, &prod, &qro, &rem);
21     printf("Input2  -  a:     %4d    b:     %4d 
", a, b);
22     printf("Output2 - rc:     %4d   prod:   %4d
", rc, prod);
23     printf("         qro:     %4d    rem:   %4d 
", qro, rem);
24 
25 
26     b = 0;
27     prod = qro = rem = 0;
28     rc = test_(a, b, &prod, &qro, &rem);
29     printf("Input3  -  a:     %4d    b:     %4d 
", a, b);
30     printf("Output3 - rc:     %4d   prod:   %4d
", rc, prod);
31     printf("         qro:     %4d    rem:   %4d 
", qro, rem);
32 
33 
34 
35 
36     system("pause");
37     return 0;
38 }

 

汇编设置的方法参考来源:https://blog.csdn.net/qq_33775402/article/details/78828235

 

以上是关于VS2008中 项目--属性--设置属性--常规--字符集选择""Unicode"有啥用?的主要内容,如果未能解决你的问题,请参考以下文章

vs2010,项目-〉属性-〉在C/C++章节中-〉常规节点-〉附加包含目录。为啥我找不到附加包含目录?

vs2013的属性管理器在哪?

VS2008中命令行参数如何设置读入多个文件

vs2008调试 Release(链接器来生成调试信息)

怎么让VS2015编写的程序在XP中顺利运行

vs设置多线程编译的数量