Compartilhar via


Comutador /Os

A opção /Os especifica o método de modo misto para realizar marshaling do código stub passado entre o cliente e o servidor.

midl /Os

Opções de opção

Essa opção não tem parâmetros.

Comentários

Há problemas importantes a serem considerados antes de decidir sobre o método de marshaling de código. Esses problemas dizem respeito ao tamanho e ao desempenho. O compilador MIDL fornece dois métodos para realizar marshaling de código: modo misto (/Os) e totalmente interpretado (/Oi). O método totalmente interpretado realiza marshaling de dados completamente offline. Isso reduz consideravelmente o tamanho do código stub, mas também resulta em um desempenho reduzido.

Use o modo padrão MIDL /Oicf /robust para todas as finalidades diferentes da compatibilidade com versões anteriores. Esse modo é o modo padrão seguro do compilador MIDL; qualquer outro modo deve ser usado somente após uma consideração cuidadosa sobre a implicação de segurança, percebendo que extensões futuras só serão implementadas para o modo padrão. No modo misto, o compilador realiza marshaling de alguns parâmetros embutidos nos stubs gerados. Embora isso resulte em um tamanho maior de stub, ele também pode oferecer um desempenho maior.

MIDL fornece suporte completo para matrizes multidimensionais e ponteiros de tamanho multidimensional somente no modo /Oicf . Nos modos /Os e /Oi , o compilador dá suporte a casos simples, como matrizes de tamanho fixo. O uso de matrizes multidimensionais nos modos /Os ou /Oi pode resultar em parâmetros que não têm marshaling correto. A Microsoft recomenda que você use a opção de linha de comando /Oicf quando sua interface define parâmetros que são matrizes multidimensionais ou ponteiros de tamanho multidimensional.

Para definir ainda mais o nível de gradação em como os dados são empacotados, essa versão do RPC fornece um atributo [optimize]. Esse atributo é usado como um atributo de interface ACF ou atributo de operação para selecionar o modo de marshaling.

Exemplos

midl /Os filename.idl

Confira também

Sintaxe de linha de comando MIDL geral

/Oi

Otimizar

/no_format_opt