Pergunta

Estou planejando para desenvolver sistemas simbianos, mas não estou familiarizado com isso. Eu sei (pode ser) a maneira mais popular de desenvolver no Symbian é o Symbian C ++, e também ouvi falar do QT. Qual é a diferença entre eles? Se eu quero que meu aplicativo seja executado na maioria dos sistemas simbianos, o que devo escolher? Alguém pode me dar alguns conselhos gerais?

Obrigado ~

Foi útil?

Solução

O Symbian C ++ é o dialeto de C ++ no qual o sistema operacional está escrito, desde o kernel até a estrutura do aplicativo. Difere do C ++ padrão de várias maneiras, algumas das quais estão listadas aqui:

  • Exceções não são usadas; A Symbian usa seu próprio método de desenrolamento da pilha chamado 'folhas'. A principal razão para isso é que o padrão C ++ ainda estava em desenvolvimento quando o Symbian foi criado, e as exceções não eram amplamente suportadas pelos compiladores.
  • Devido à falta de suporte para exceções, o gerenciamento da memória alocada dinamicamente usa um mecanismo proprietário chamado pilha de limpeza.
  • Embora um porto do STL esteja agora disponível para o Symbian, este é um desenvolvimento recente, então o sistema operacional possui suas próprias classes de serviços públicos para cordas, matrizes, hashes etc.

Tomados em conjunto, eles podem tornar o aprendizado de C ++ simbiando bastante difícil, mesmo para programadores de C ++ experientes. A pilha de limpeza e as classes de cordas (conhecidas como descritores) em particular geralmente são vistas como adicionar bastante sobrecarga ao desenvolvimento do Symbian C ++.

Como em qualquer sistema operacional, além de precisar conhecer o idioma nativo, você também precisa conhecer as bibliotecas relevantes para sua área de desenvolvimento. O Symbian tem um conjunto muito rico de bibliotecas que abrangem grandes quantidades de funcionalidade (rosqueamento, IPC, gráficos, multimídia, networking, localização, mensagens, PIM, telefonia etc.) Depois de se acostumar com os idiomas Symbian C ++, essas bibliotecas geralmente são muito poderosas e ofereça um recurso definido pelo menos igual a outras plataformas. Uma exceção notável é a biblioteca da interface do usuário, conhecida como Avkon, que agora é bastante datada quando comparada às estruturas correspondentes em outras plataformas.

Qt destina -se a abordar alguns dos problemas listados acima, que tendem a afastar as pessoas do desenvolvimento nativo no sistema operacional simbiano. Especificamente, permite um estilo muito mais moderno de programação C ++ e inclui um conjunto muito avançado de bibliotecas gráficas / UI. Hoje, QT está disponível para instalação nos dispositivos simbianos mais recentes. Ansioso, ele formará a base de uma estrutura de aplicativos completamente nova, que será introduzida na versão S^4 de a plataforma (Espera -se que esteja no envio de dispositivos de 2011).

Uma coisa que devo ressaltar é que, neste momento, o QT não cobre toda a funcionalidade das bibliotecas nativas. Na lista acima, enquanto o QT oferece abstrações de threads, IPC, gráficos, multimídia e networking, suas bibliotecas principais não incluem localização, mensagens ou funcionalidade PIM. Portanto, embora você possa usar o QT para escrever (por exemplo) um cliente FTP, um programa de desenho ou um media player, você não pode usá -lo para escrever um cliente de mensagens. Porque Qt é C ++, você posso Misture -o com o symbian c ++ nativo (caindo nas APIs da plataforma para acessar mensagens, por exemplo), mas isso é um pouco complexo.

Essa lacuna de funcionalidade está sendo abordada por um projeto chamado Mobilidade QT, que introduzirá bibliotecas QT que cobrem áreas como localização, mensagens e PIM.

Em resumo, se você é novo no Symbian, o QT é o ambiente de desenvolvimento de aplicativos para aprender, e isso tem o benefício adicional que você também pode desenvolver aplicativos QT em outras plataformas (pois é um kit de ferramentas de plataforma cruzada).

Outras dicas

Quando você define uma função de membro inline, você deve prever a definição da função de membro com a palavra-chave Inline e colocar a definição em um arquivo de cabeçalho.

Quando você declara uma função Inline basicamente, você está dizendo ao compilador (se possível), substitua o código para chamar a função com o conteúdo da função onde quer que a função seja chamada.A ideia é que o corpo da função é provavelmente pequeno e chamando a função é mais sobrecarga do que o corpo da própria função.

Para poder fazer isso, o compilador precisa ver a definição durante a compilação do código que chama a função, isso significa essencialmente que a definição tem que residir no cabeçalho, porque o código que chama a função só tem acesso ao arquivo de cabeçalho..

Bom leitura:
[9.7] Como você informa ao compilador paraFaça uma função de membro Inline?

Há uma comparação de 7 kits de ferramentas disponíveis - C ++, qt, aberto C C ++, Python, Widgets, Java ME, Flash Lite- aqui: Guia de Hitch Hikers para o espaço de tempo de execução

Você pode fazer isso usando logs sharepoint audit .Ative a funcionalidade de auditoria para a lista e bibliotecas ou para todo o site.Os seguintes links ajudarão com o mesmo:

Ativar auditoria 1

Ativar auditoria 2 .

Visualizar relatórios de registro de auditoria escrever entradas personalizadas

Eventos

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top