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++有哪些不同?回答满意还可以加分哦!求解!!!
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"有啥用?的主要内容,如果未能解决你的问题,请参考以下文章